Créer une plage dynamique à pensée critique, Excel VBA

Créer une plage dynamique à pensée critique, Excel VBA

Voici un code VBA détaillé pour créer une plage dynamique dans Excel, ainsi qu’une explication détaillée. L’idée derrière la « réflexion critique sur les plages dynamiques » en VBA est de définir et de manipuler efficacement des plages de données qui s’ajustent automatiquement en fonction des données présentes. 

Code VBA pour Créer une Plage Dynamique 

Sub CreerPlageDynamique() 
    Dim ws As Worksheet 
    Dim derniereLigne As Long 
    Dim derniereColonne As Long 
    Dim plageDynamique As Range 
    ' Définir la feuille de calcul sur laquelle travailler 
    Set ws = ThisWorkbook.Sheets("Feuil1") 
    ' Trouver la dernière ligne contenant des données dans la colonne A (en supposant qu'elle est toujours remplie) 
    derniereLigne = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row 
    ' Trouver la dernière colonne contenant des données dans la ligne 1 (en supposant que la ligne 1 contient les en-têtes) 
    derniereColonne = ws.Cells(1, ws.Columns.Count).End(xlToLeft).Column 
    ' Définir la plage dynamique 
    Set plageDynamique = ws.Range(ws.Cells(2, 1), ws.Cells(derniereLigne, derniereColonne)) 
    ' Appliquer un formatage pour la visualisation 
    With plageDynamique 
        .Interior.Color = RGB(200, 230, 201) ' Couleur verte claire 
        .Borders.LineStyle = xlContinuous 
    End With 
    ' Afficher un message indiquant la plage dynamique créée 
    MsgBox "Plage dynamique créée : " & plageDynamique.Address, vbInformation, "Plage Dynamique" 
End Sub

Explication Détaillée 

  1. Identifier la Dernière Ligne Utilisée

derniereLigne = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row 

  • ws.Rows.Count : Renvoie le nombre total de lignes dans la feuille Excel (1 048 576 en Excel moderne). 
  • Cells(ws.Rows.Count, 1) : Désigne la dernière cellule de la colonne A. 
  • .End(xlUp) : Simule un appui sur Ctrl + Flèche Haut pour trouver la dernière cellule non vide dans la colonne A. 
  • .Row : Extrait le numéro de cette ligne. 
  1. Identifier la Dernière Colonne Utilisée

derniereColonne = ws.Cells(1, ws.Columns.Count).End(xlToLeft).Column 

  • ws.Columns.Count : Renvoie le nombre total de colonnes (16 384 en Excel moderne). 
  • Cells(1, ws.Columns.Count) : Désigne la dernière cellule de la ligne 1. 
  • .End(xlToLeft) : Simule un appui sur Ctrl + Flèche Gauche pour trouver la dernière colonne non vide. 
  • .Column : Extrait le numéro de cette colonne. 
  1. Définir la Plage Dynamique

Set plageDynamique = ws.Range(ws.Cells(2, 1), ws.Cells(derniereLigne, derniereColonne)) 

  • ws.Cells(2,1) : Cellule supérieure gauche de la plage (en supposant que la ligne 1 contient les en-têtes). 
  • ws.Cells(derniereLigne, derniereColonne) : Cellule inférieure droite, définie dynamiquement. 
  • ws.Range(…) : Création d’une plage allant de ces deux cellules. 
  1. Appliquer un Formatage pour Visualisation
With plageDynamique 
    .Interior.Color = RGB(200, 230, 201) ' Vert clair 
    .Borders.LineStyle = xlContinuous 
End With 
.Interior.Color = RGB(200, 230, 201) : Applique une couleur de fond verte claire pour mieux visualiser la plage. 
.Borders.LineStyle = xlContinuous : Ajoute des bordures continues autour de la plage.
  1. Afficher un Message pour Confirmer la Plage

MsgBox "Plage dynamique créée : " & plageDynamique.Address, vbInformation, "Plage Dynamique" 

  • Affiche une boîte de dialogue avec l’adresse de la plage créée. 

Cas Pratiques d’Utilisation 

  1. Importation Automatisée des Données : Détecte automatiquement les nouvelles données et les met en forme. 
  2. Graphiques Dynamiques : Utiliser cette plage comme source de données pour des graphiques qui s’adaptent automatiquement. 
  3. Mise en Forme Conditionnelle : Appliquer des styles spécifiques en fonction des données changeantes. 
  4. Filtrage et Tri Automatique : Utiliser la plage dynamique pour des traitements automatisés. 
Facebook
Twitter
LinkedIn
WhatsApp
Email
Print
0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x