/ / Excel Combo Box VBA

Excel Combo Box VBA

Une liste déroulante est une liste déroulante à partir de laquelle un utilisateur peut sélectionner un élément ou saisir son propre choix. Créer un boîte combo 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 déroulante.

Créer une liste déroulante dans Excel VBA

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

Faites glisser une zone de liste déroulante

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 ComboBox1 comme nom de la liste déroulante.

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 liste déroulante, ajoutez les lignes de code suivantes à l'événement Workbook Open:

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

Remarque: utilisez Sheet2 si votre zone de liste déroulante est située dans la deuxième feuille de calcul, Sheet3 si votre liste déroulante est située dans 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 les lignes de code ci-dessous avant celles-ci. lignes de code. La première ligne de code efface la liste déroulante. Ainsi, vos éléments ne seront pas ajoutés plusieurs fois si vous exécutez votre code plusieurs fois. La deuxième ligne de code efface votre propre choix.

ComboBox1.Clear
ComboBox1.Value = ""

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

LinkedCell

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

9. Enregistrez, fermez et rouvrez le fichier Excel.

Résultat:

Boîte combo

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

Lisez aussi: