Créer des plages nommées dynamiques, Excel VBA

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 : 

  1. Revenez dans Excel. 
  2. 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 : 

  1. Allez dans l’onglet Formules dans Excel. 
  2. Cliquez sur Gestionnaire de noms
  3. Cherchez PlageDynamique dans la liste des plages nommées. 
  4. 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). 

Facebook
Twitter
LinkedIn
WhatsApp
Email
Print
0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x