Propriétés indispensables :
-
ListIndex : renvoie ou définit l’indice de l’élément actuellement sélectionné. En fait, en interne, VB gère les listes un peu à la manière des tableaux. Il attribue donc à chaque élément d’une liste un indice, cet indice commençant toujours à zéro. A noter que si aucun élément n'est sélectionné dans la liste, la propriété Listindex vaut -1.
-
List : Savoir quel est l’indice de l’élément sélectionné dans une liste, c’est bien. Mais savoir à quel texte correspond cet indice, c’est mieux ! Cette propriété renvoie en clair (sous forme de texte) un élément d’une liste en fonction de son indice. Il s’agit donc, chose assez rare, d’une propriété qui nécessite un argument (le numéro d’indice).
Pour récupérer sous forme de texte l’élément actuellement sélectionné dans la liste appelée Produits, on écrira donc le code suivant :
NuméroProduit = Produits.ListIndex
NomProduit = Produits.List(NuméroProduit)
MsgBox "Vous avez choisi le produit : " & NomProduit
Ou plus directement :
NomProduit = Produits.List(Produits.ListIndex)
MsgBox "Vous avez choisi le produit : " & NomProduit
Toutefois, il faut noter que les contrôles ComboBox nous simplifient grandement la vie, puisqu'à la différence des ListBox, ils nous proposent directement une propriété Text. Ainsi, si Produits est un contrôle ComboBox, et uniquement dans ce cas, on pourra écrire :
NomProduit = Produits.Text
MsgBox "Vous avez choisi le produit : " & NomProduit
Autres propriétés intéressantes :
- ListCount, qui renvoie le nombre d’éléments d’une liste (propriété numérique)
- Multiselect, qui permet la sélection multiple (propriété booléenne)
- Sorted, qui trie automatiquement les éléments d’une liste (propriété booléenne)
Méthodes à connaître
Nous découvrons avec les contrôles ListBox et ComboBox des méthodes qu'il est indispensable de connaître afin de gérer des objets de type liste :
- AddItem Chaîne : ajoute l'élément Chaîne à une liste (un argument supplémentaire, facultatif, permet éventuellement de spécifier à quel indice l'élément doit être inséré).
- RemoveItem (indice) : supprime de la liste l'élément possédant l'indice spécifié.
- Clear : efface tous les éléments d’une liste
Comme à l'accoutumée, voilà deux petits exercices pour se mettre tout cela en tête.