Une zone de liste est une liste d’où un utilisateur peut sélectionner un élément. Pour créer une zone de liste dans Excel VBA, exécutez les étapes suivantes.

  1. Dans l’onglet Developer, cliquez sur Insérer.

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

Create a list box in Excel VBA

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

Drag a List Box

Remarque: vous pouvez modifier le nom d’un contrôle par un clic droit sur le contrôle (assurez-vous que le mode Création est sélectionné) et puis en cliquant sur Propriétés. Pour l’instant, nous partirons ListBox1 comme le nom de la liste.

Créer un classeur ouvert l’événement. Code ajouté au classeur ouvert l’événement sera exécuté par Excel VBA lorsque vous ouvrez le classeur.

  1. Ouvrez Visual Basic Editor.

  2. Double-cliquez sur ce classeur dans l’Explorateur de projet.

  3. Choisissez le classeur dans la liste déroulante gauche et choisissez Ouvrir de la droite liste déroulante.

Workbook Open Event in Excel VBA

  1. Pour ajouter des éléments à la liste, ajoutez les lignes de code suivantes au classeur ouvert l’événement:

With Sheet1.ListBox1

.AddItem "Paris"

.AddItem "New York"

.AddItem "London"

End With

Remarque: utilisez Feuille2 si votre liste se trouve sur la deuxième feuille de calcul, Feuil3 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 classeur ouvert, vous pouvez ajouter la ligne de code suivant avant que ces lignes de code. Cette ligne de code efface la zone de liste. De cette façon, vos articles ne seront pas ajoutés plusieurs fois si vous exécutez votre code plus d’une fois.

ListBox1.Clear
  1. Pour un lien vers cette zone de liste à une cellule, faites un clic droit sur la zone de liste (mode Création de conception sûr est sélectionné) et cliquez sur Propriétés. Remplissez D3 pour LinkedCell.

LinkedCell

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

  1. Enregistrez, fermez et rouvrez le fichier Excel.

Résultat:

List Box

Bien que dans certaines situations, il peut être utile de placer directement une zone de liste sur votre feuille de calcul, une zone de liste est particulièrement utile lorsqu’il est placé sur un formulaire.