Autoriser plusieurs sélections dans une zone de liste
L’exemple suivant utilise les propriétés MultiSelect et Selected pour montrer comment l’utilisateur peut sélectionner un ou plusieurs éléments dans un contrôle ListBox. L'utilisateur spécifie une méthode de sélection à l'aide d'une option, puis sélectionne un ou plusieurs éléments dans le contrôle ListBox. L’utilisateur peut afficher les éléments sélectionnés dans un deuxième contrôle ListBox en cliquant sur le bouton CommandButton.
Pour utiliser cet exemple, copiez-en le code vers l’éditeur de script d’un formulaire. Pour exécuter le code, vous devez ouvrir le formulaire afin d’activer l’événement Open. Vérifiez que le formulaire contient :
deux contrôles ListBox nommés ListBox1 et ListBox2 ;
un contrôle CommandButton nommé CommandButton1 ;
Trois contrôles OptionButton nommés OptionButton1 à OptionButton3.
Sub CommandButton1_Click()
Set ListBox1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("ListBox1")
Set ListBox2 = Item.GetInspector.ModifiedFormPages("P.2").Controls("ListBox2")
ListBox2.Clear
For i = 0 To 9
If ListBox1.Selected(i) = True Then
ListBox2.AddItem ListBox1.List(i)
End If
Next
End Sub
Sub OptionButton1_Click()
Set ListBox1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("ListBox1")
ListBox1.MultiSelect = 0 '0=fmMultiSelectSingle
End Sub
Sub OptionButton2_Click()
Set ListBox1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("ListBox1")
ListBox1.MultiSelect = 1 '1=fmMultiSelectMulti
End Sub
Sub OptionButton3_Click()
Set ListBox1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("ListBox1")
ListBox1.MultiSelect = 2 '2=fmMultiSelectExtended
End Sub
Sub Item_Open()
Set ListBox1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("ListBox1")
Set OptionButton1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("OptionButton1")
Set OptionButton2 = Item.GetInspector.ModifiedFormPages("P.2").Controls("OptionButton2")
Set OptionButton3 = Item.GetInspector.ModifiedFormPages("P.2").Controls("OptionButton3")
Set CommandButton1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("CommandButton1")
For i = 0 To 9
ListBox1.AddItem "Choice " & (ListBox1.ListCount + 1)
Next
OptionButton1.Caption = "Single Selection"
ListBox1.MultiSelect = 0 '0=fmMultiSelectSingle
OptionButton1.Value = True
OptionButton2.Caption = "Multiple Selection"
OptionButton3.Caption = "Extended Selection"
CommandButton1.Caption = "Show selections"
CommandButton1.AutoSize = True
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.