- Ouvrez un nouveau Classeur Excel
- Sélectionnez le Menu Outil Macro Visual basic Editor [ou appuyez sur les touches CTRL + F11]
- Sélectionnez le Menu Affichage Boîte à outils [Afin d'avoir les outils nécessaires à la constitution de notre Userform]
- Sélectionnez le Menu Insertion Userform [Dès lors, une Userform vierge s'affiche - Cette Userform est est nommée Userform1 défaut]
- Cliquez sur l'outil Zone de liste modifiable
- Dessinez votre zone de liste déroulante
- Cliquez-droit sur le bouton sélectionnez l'option Propriétés
- Tapez les références de la feuille et des cellules concernées [Dans notre exemple : Feuil3!A1:A10]
- Double-cliquez sur la liste déroulante saisissez le code suivant :
[A1] = UserForm1.ComboBox1
A NOTER : Pour attribuer un Valeur par défaut sur une liste délourante, renseignez le champ Value par la valeur par défaut souhaitée
- Cliquez-droit sur le Userform concerné Tapez le code suivant :
Private Sub UserForm_Initialize() ComboBox1.ColumnCount = 1 ComboBox1.List() = Array("", "Pommes", "Poires", "Bananes") End Sub
- Créez votre liste dans une Feuille Excel
- Sélectionnez le Menu Insertion Nom Définir
- Attribuez un nom à cette liste
- Dessinez votre zone de liste déroulante sur le Userform concerné
- Double-cliquez sur la liste déroulante Entrez le code suivant
Private Sub UserForm_Initialize() ComboBox1.RowSource = ("NomdelaListe") End Sub
- Créez votre liste dans une Feuille Excel dans les cellules A1 à A10
- Dessinez votre zone de liste déroulante sur le Userform concerné
- Double-cliquez sur la liste déroulante Entrez le code suivant
Private Sub UserForm_Initialize() Dim i For i = 1 To 10 ComboBox1.AddItem Sheets("Feuil1").Cells(i, 1) Next End Sub
- A Savoir : Pour récupérer la valeur choisie dans la cellule A1 : [A1] = ComboBox1.Value ou [A1] = ComboBox1
Private Sub UserForm_initialize()
With ComboBox1
.AddItem "Pommes"
.AddItem "Poires"
.AddItem "Bananes"
.AddItem "Fraises"
.AddItem "Oranges"
End With
End Sub
Autre solution : Initialiser les données de la liste déroulante directment via VBA en prenant une colonne précise jusqu'à la dernière cellule non vide Set FL = ThisWorkbook.Sheets("Feuil1") 'Identification de la feuille concernée
Ligne = FLRange("D65536").End(xlUp).Row Positionnement de la dernière cellule à récupérer
For i = 7 To Ligne 'Démarre à la ligne 7 jusqu'à la ligne définit dans la variable Ligne
With Me.ComboBox1
.AddItem FL.Range("H" & i)
End With
Next i
End Sub
Aucun commentaire:
Enregistrer un commentaire