Table of contents
TOC
Réduire la table des matières
Développer la table des matières

ListBox.ItemsSelected, propriété (Access)

office 365 dev account|Dernière mise à jour: 04/10/2017
|
1 Contributeur

Vous pouvez utiliser 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 . ItemsSelected

expression Variable qui représente un objet ListBox.

Remarques

La collection ItemsSelected se différencie des autres collections car elle constitue une collection de Variants et non d'objets. Chaque Variant est un index entier qui fait référence à une ligne sélectionnée dans une zone de liste ou une zone de liste déroulante.

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

Si, par exemple, un formulaire contient une liste Employees, vous pouvez énumérer 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 permettre la sélection de plusieurs lignes d'une zone de liste, affectez la valeur Simple ou Étendue à la propriété MultiSelect (SélectionMultiple) du contrôle.

La collection ItemsSelected ne possède pas de méthode, mais deux propriétés, Count et Item.

Exemple

L'exemple suivant montre comment afficher la valeur de la colonne liée pour chaque ligne sélectionnée dans une zone de liste Names (Noms) d'un formulaire Contacts. Pour tester cet exemple, créez une zone de liste et définissez sa propriété BoundColumn comme vous le souhaitez, et affectez la valeur Simple ou Étendue à sa propriété MultiSelect (SélectionMultiple). Basculez en mode Formulaire, sélectionnez plusieurs lignes de la zone de liste, puis 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 utilise le même contrôle de zone de liste, mais montre comment afficher les valeurs de chaque colonne pour chacune des lignes sélectionnées dans la zone de liste, et non seulement 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

Voir aussi

Concepts

Objet ListBox

Autres ressources

© 2018 Microsoft