Le contrôle ListBox ou zone de liste est utilisé pour stocker une liste de valeurs. Dans la zone de liste, l’utilisateur peut sélectionner une ou plusieurs valeurs.
Remplir une zone de liste élément par élément
La zone de liste est remplie élément par élément par la méthode AddItem. Par exemple, créons un projet simple, qui contient un formulaire de liste comme le montre la figure suivante.
Figure: Zone de liste simple
La liste contient les noms des villes du Cameroun. La sélection d’un élément dans la zone de liste ne mène à rien, tandis qu’un double-clic sur un élément de la zone de liste l’affiche dans la cellule libre suivante de la première colonne de la feuille de calcul active.
Private Sub UserForm_Initialize() ListBox1.AddItem "Douala" ListBox1.AddItem "Bafoussan" ListBox1.AddItem "Edéa" ListBox1.AddItem "Maroua" ListBox1.AddItem "Kumba" ListBox1.AddItem "Bertoua" ListBox1.AddItem "Eséka" ListBox1.AddItem "Limbé" ListBox1.AddItem "Yaoundé" ListBox1.AddItem "Mbouda" End Sub Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean) Dim n As Long n = Application.WorksheetFunction.CountA(Columns(1)) Cells(n + 1, 1).Value = ListBox1.Text End Sub
Commentaires
■ La valeur sélectionnée dans la liste est renvoyée par la propriété Text.
■ Le nombre de cellules de colonne remplies est renvoyé par la propriété CountA de WorksheetFunction.