/ / Zone de liste Excel VBA

Zone de liste Excel VBA

Une zone de liste est une liste à partir de laquelle un utilisateur peut sélectionner un élément. Créer un zone de liste dans Excel VBA, exécutez les étapes suivantes.

1. Sous l'onglet Développeur, cliquez sur Insérer.

2. Dans le groupe Contrôles ActiveX, cliquez sur Zone de liste.

Créer une zone de liste dans Excel VBA

3. Faites glisser une zone de liste sur votre feuille de calcul.

Faites glisser une zone de liste

Remarque: vous pouvez modifier le nom d'un contrôle en cliquant avec le bouton droit de la souris sur le contrôle (assurez-vous que le mode Création est sélectionné), puis en cliquant sur Propriétés. Pour l'instant, nous allons laisser ListBox1 comme nom de la liste.

Créez un événement de classeur ouvert. Le code ajouté à l'événement d'ouverture de classeur sera exécuté par Excel VBA lors de l'ouverture du classeur.

4. Ouvrez Visual Basic Editor.

5. Double-cliquez sur Ce classeur dans l'Explorateur de projet.

6. Choisissez Classeur dans la liste déroulante de gauche, puis choisissez Ouvrir dans la liste déroulante de droite.

Classeur Ouvrir événement dans Excel VBA

7. Pour ajouter des éléments à la zone de liste, ajoutez les lignes de code suivantes à l'événement Workbook Open:

With Sheet1.ListBox1
    .AddItem "Paris"
    .AddItem "New York"
    .AddItem "London"
End With

Remarque: utilisez Sheet2 si votre zone de liste se trouve sur la deuxième feuille de calcul, Sheet3 si votre zone de liste se trouve sur la troisième feuille de calcul, etc. Si vous utilisez ces lignes de code en dehors de l'événement Workbook Open, vous pouvez ajouter la ligne de code suivante avant celles-ci. lignes de code. Cette ligne de code efface la zone de liste. De cette façon, vos éléments ne seront pas ajoutés plusieurs fois si vous exécutez votre code plusieurs fois.

ListBox1.Clear

8. Pour lier cette zone de liste à une cellule, cliquez avec le bouton droit de la souris sur la zone de liste (assurez-vous que le mode Création est sélectionné) et cliquez sur Propriétés. Remplissez D3 pour LinkedCell.

LinkedCell

Remarque: voir également la propriété ListFillRange pour remplir une zone de liste avec une plage de cellules.

9. Enregistrez, fermez et rouvrez le fichier Excel.

Résultat:

Zone de liste

Bien que dans certaines situations, il puisse être utile de placer directement une zone de liste sur votre feuille de calcul, une zone de liste est particulièrement utile lorsqu'elle est placée sur un Userform.

Lisez aussi: