Excel VBA dépendants zones de liste déroulante - EASY macros Excel
nous examinerons ci-dessous à un programme dans Excel VBA qui crée une Userform qui contient des zones de liste déroulante à charge. Le Userform nous allons créer se présente comme suit:
L'utilisateur sélectionne les animaux dans une liste déroulante. En conséquence, l'utilisateur peut sélectionner un animal à partir d'une seconde liste déroulante.

L'utilisateur sélectionne Sport dans une liste déroulante. En conséquence, l'utilisateur peut choisir un sport à partir d'une seconde liste déroulante.

Pour créer cette Userform, exécutez les étapes suivantes.
1. Ouvrez l'éditeur Visual Basic. Si l'Explorateur de projets n'est pas visible, cliquez sur Afficher, Project Explorer.
2. Cliquez sur Insérer, Userform. Si la boîte à outils n'apparaît pas automatiquement, cliquez sur Affichage, Boîte à outils. Votre écran doit être configuré comme ci-dessous.

3. Ajoutez les zones de liste déroulante (première à gauche, la deuxième à droite) et le bouton de commande. Une fois cet exercice terminé, le résultat devrait être compatible avec l'image du Userform indiqué précédemment. Par exemple, créez un contrôle de zone de liste déroulante en cliquant sur ComboBox de la boîte à outils. Ensuite, vous pouvez faire glisser une zone de liste déroulante sur le Userform.
4. Vous pouvez modifier les noms et les légendes des contrôles. Les noms sont utilisés dans le code VBA Excel. Les légendes sont celles qui apparaissent sur votre écran. Il est bon de changer les noms des contrôles, mais il est pas nécessaire ici parce que nous avons seulement quelques contrôles dans cet exemple. Pour modifier la légende du bouton formUtilisateur et commande, cliquez sur Affichage, fenêtre Propriétés et cliquez sur chaque contrôle.
5. Pour afficher le Userform, placez un bouton de commande sur votre feuille de calcul et ajoutez la ligne de code suivant:
Sous CommandButton1_Click (privé)
Nous allons maintenant créer la sous UserForm_Initialize. Lorsque vous utilisez la méthode Show pour la Userform, ce sous sera exécuté automatiquement.
7. Dans l'Explorateur de projets, cliquez droit sur UserForm1 puis cliquez sur Afficher le code.
8. Choisissez Userform dans la liste déroulante de gauche. Choisissez Initialiser de la droite liste déroulante.
9. Ajoutez les lignes de code suivantes:
Sous UserForm_Initialize (privé)
avec ComboBox1
.AddItem « Animaux »
.AddItem "Sports"
.AddItem "Food"
Terminer par
Explication: Ces lignes de code remplissent la première zone de liste déroulante.
Nous avons créé la première partie de la Userform. Bien qu'il semble déjà soignée, rien ne se passera encore lorsque nous choisissons un élément de la première zone de liste déroulante.
10. Dans l'Explorateur de projets, double-cliquez sur UserForm1.
11. Double-cliquez sur la première zone de liste déroulante.
12. Ajoutez les lignes de code suivantes:
Private Sub ComboBox1_Change ()
Indice Dim As Integer
index = ComboBox1.ListIndex
Sélectionnez l'index de cas
Case Is = 0
avec ComboBox2
.AddItem « Chien »
.AddItem "Cat"
.AddItem « Cheval »
Terminer par
Case Is = 1
avec ComboBox2
.AddItem "Tennis"
.AddItem « Piscine »
.AddItem "Basketball"
Terminer par
Case Is = 2
avec ComboBox2
.AddItem « crêpes »
.AddItem "Pizza"
.AddItem « chinois »
Terminer par
End Select
Explication: Excel VBA utilise la valeur de l'indice variable pour tester chaque déclaration de cas suivante pour voir avec quels éléments la deuxième zone de liste déroulante doit être rempli. Passez par notre programme Select Case pour en savoir plus sur la structure Select Case.
13. Double-cliquez sur le bouton Importer.
14. Ajoutez la ligne de code suivant:
Sous CommandButton1_Click (privé)
