Créer des plages nommées dynamiques, Excel VBA
Voici une explication détaillée sur la façon de créer des plages nommées dynamiques dans Excel en utilisant VBA.
Guide étape par étape pour créer des plages nommées dynamiques avec VBA dans Excel
Étape 1 : Ouvrir l’éditeur Visual Basic for Applications (VBA)
Pour accéder à l’éditeur VBA :
- Appuyez sur Alt + F11 sur votre clavier, ou cliquez sur l’onglet Développeur dans Excel (si activé) et cliquez sur Visual Basic.
- Cela ouvrira l’éditeur VBA, où vous pourrez écrire votre code VBA.
Étape 2 : Insérer un module
Un Module est l’endroit où vous allez insérer votre code VBA.
- Dans l’éditeur VBA, allez dans le menu Insertion en haut et sélectionnez Module.
- Un nouveau module vierge apparaîtra, où vous pourrez taper votre code.
Étape 3 : Écrire le code VBA
Maintenant, écrivons le code pour créer des plages nommées dynamiques.
Exemple de code :
Sub CreerPlageNommeeDynamique() Dim ws As Worksheet Dim rng As Range Dim derniereLigne As Long Dim derniereColonne As Long ' Définir l'objet feuille de calcul Set ws = ThisWorkbook.Sheets("Feuille1") ' Trouver la dernière ligne et colonne utilisées dans la feuille derniereLigne = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row derniereColonne = ws.Cells(1, ws.Columns.Count).End(xlToLeft).Column ' Définir la plage pour la plage dynamique (modifiez le point de départ et la plage si nécessaire) Set rng = ws.Range(ws.Cells(1, 1), ws.Cells(derniereLigne, derniereColonne)) ' Créer une plage nommée dynamique ThisWorkbook.Names.Add Name:="PlageDynamique", RefersTo:=rng End Sub
Explication du code :
1. Définir les objets feuille de calcul et plage :
Dim ws As Worksheet Dim rng As Range Dim derniereLigne As Long Dim derniereColonne As Long
- Nous déclarons des variables pour stocker les références de la feuille de calcul, de la plage et de la dernière ligne/colonne de données.
2. Définir la feuille de calcul avec laquelle nous travaillons :
Set ws = ThisWorkbook.Sheets("Feuille1")
- Nous spécifions la feuille de calcul sur laquelle nous travaillons (remplacez « Feuille1 » par le nom de votre feuille).
3. Trouver la dernière ligne et la dernière colonne utilisées dans la feuille :
derniereLigne = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row derniereColonne = ws.Cells(1, ws.Columns.Count).End(xlToLeft).Column
- derniereLigne : Cette ligne trouve la dernière ligne utilisée dans la colonne « A ».
- derniereColonne : Cette ligne trouve la dernière colonne utilisée dans la ligne 1.
4. Définir la plage dynamique :
Set rng = ws.Range(ws.Cells(1, 1), ws.Cells(derniereLigne, derniereColonne))
- Cela définit la plage dynamique qui commence à la cellule A1 et s’étend jusqu’à la dernière ligne et colonne utilisées.
5. Créer la plage nommée :
ThisWorkbook.Names.Add Name:="PlageDynamique", RefersTo:=rng
- Nous ajoutons une plage nommée à l’ouvrage et lui affectons la plage dynamique. Le nom de la plage est PlageDynamique, mais vous pouvez le modifier comme vous le souhaitez.
Étape 4 : Exécuter la macro
Pour exécuter la macro :
- Revenez dans Excel.
- Appuyez sur Alt + F8, sélectionnez la macro CreerPlageNommeeDynamique et cliquez sur Exécuter.
Étape 5 : Vérifier la plage nommée
Pour vérifier que la plage nommée a été créée avec succès :
- Allez dans l’onglet Formules dans Excel.
- Cliquez sur Gestionnaire de noms.
- Cherchez PlageDynamique dans la liste des plages nommées.
- Si elle apparaît, cela signifie que la plage nommée dynamique a été créée avec succès.
Sortie :
Lorsque la macro est exécutée, elle crée une plage nommée dynamique appelée « PlageDynamique » qui s’ajuste automatiquement lorsque des données sont ajoutées ou supprimées. La plage nommée fera toujours référence aux données dans la plage allant de A1 jusqu’à la dernière ligne et colonne utilisées.
Explication :
Une plage nommée dynamique est une plage qui s’ajuste automatiquement à mesure que des données sont ajoutées ou supprimées. Ce script VBA permet de définir une telle plage à l’aide de la méthode Names.Add. La plage qu’elle désigne (de A1 à la dernière ligne et colonne utilisées) se mettra à jour chaque fois que la feuille de calcul est modifiée. Cela vous permet de créer des plages de données dynamiques, particulièrement utiles pour l’analyse de données, la création de graphiques ou l’automatisation d’autres tâches nécessitant une plage de données dynamique.
Ce procédé peut être personnalisé pour d’autres colonnes ou lignes, et des critères supplémentaires peuvent être appliqués en fonction de besoins spécifiques (par exemple, une plage dynamique basée sur certaines conditions).