Propriété ListBox.ItemsSelected (Access)

Utilisez la propriété ItemsSelected pour renvoyer une référence en lecture seule à la collection ItemsSelected masquée. Celle-ci permet d’accéder aux données des lignes sélectionnées dans un contrôle de zone de liste à sélection multiple.

Syntaxe

expression. Éléments Sélectionnés

Expression Variable qui représente un objet ListBox .

Remarques

La collection ItemsSelected est Contrairement à d'autres collections en ce sens qu'il s'agit d'une collection de Variants et non d'objets. Chaque Variant est un index entier faisant référence à une ligne sélectionnée dans une zone de liste ou zone de liste déroulante.

Utilisez la collection ItemsSelected conjointement avec la propriété Column ou la propriété ItemData pour extraire les données des lignes sélectionnées dans une zone de liste ou zone de liste déroulante. Vous pouvez énumérer la collection ItemsSelected à l'aide de le For Each... Prochain instruction.

Par exemple, si vous avez une zone de liste Employés dans un formulaire, vous pouvez répertorier la collection ItemsSelected et utiliser la propriété ItemData du contrôle pour renvoyer la valeur de la colonne liée pour chaque ligne sélectionnée dans la zone de liste.

Pour activer la sélection de plusieurs lignes dans une zone de liste, la valeur du contrôle de la propriété MultiSelect simple ou étendue.

La collection ItemsSelected a deux propriétés, les propriétés Count et Item , et aucune méthode.

Exemple

L’exemple suivant imprime la valeur de la colonne liée pour chaque ligne sélectionnée dans une zone de liste Noms d’un formulaire Contacts . Pour essayer cet exemple, créez une zone de liste et la valeur Simple ou étendue à sa propriété BoundColumn comme vous le souhaitez et sa propriété MultiSelect. Basculez en mode Formulaire, sélectionnez plusieurs lignes dans la zone de liste et exécutez le code suivant.

Sub BoundData() 
 Dim frm As Form, ctl As Control 
 Dim varItm As Variant 
 
 Set frm = Forms!Contacts 
 Set ctl = frm!Names 
 For Each varItm In ctl.ItemsSelected 
 Debug.Print ctl.ItemData(varItm) 
 Next varItm 
End Sub

L’exemple suivant utilise le même contrôle de zone de liste, mais imprime les valeurs de chaque colonne pour chaque ligne sélectionnée dans la zone de liste, au lieu de uniquement les valeurs de la colonne liée.

Sub AllSelectedData() 
 Dim frm As Form, ctl As Control 
 Dim varItm As Variant, intI As Integer 
 
 Set frm = Forms!Contacts 
 Set ctl = frm!Names 
 For Each varItm In ctl.ItemsSelected 
 For intI = 0 To ctl.ColumnCount - 1 
 Debug.Print ctl.Column(intI, varItm) 
 Next intI 
 Debug.Print 
 Next varItm 
End Sub

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.