image
image
image
image
image
 
   
Assistance Fonction Excel
assistance Excel
assistance Excel
assistance Excel
 
Fiches Vb liste
 

Les Listes

 

deux contrôles de listes

 

Les listes classiques dans Windows peuvent posséder ou non deux caractéristiques.

    • Elles peuvent être modifiables : c’est-à-dire que l’utilisateur a la possibilité d’entrer un élément qui ne figure pas au départ dans la liste. Cette caractéristique concerne donc les données de la liste proprement dites.
     
    • Elles peuvent être déroulantes : c’est-à-dire qu’on ne voit qu’un seul élément de la liste à la fois, et qu’il faut cliquer sur la flèche du côté pour "déplier" la liste. Cette caractéristique joue donc uniquement sur l’aspect de la liste, et aucunement sur la manière dont les données sont gérées.
     
    • Une liste dite simple : contrôle ListBox
     
    • Une liste dite modifiable : contrôle ComboBox

 

LISTE

Non déroulante

Déroulante

Non modifiable

ListBox

ComboBox
Style = 2

Modifiable

ComboBox
Style = 1

ComboBox
Style = 0 (défaut)


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.
 

Precedent    Suivant  

 
Vers l'index des Fiches VB
 

 
image
image