Définir l’élément en haut d’une liste et l’élément qui a le focus dans la liste
L’exemple suivant identifie l’élément supérieur affiché dans un contrôle ListBox et l’élément qui a le focus dans listBox. Cet exemple utilise la propriété TopIndex pour identifier l’élément affiché en haut de listBox et la propriété ListIndex pour identifier l’élément qui a le focus. L'utilisateur sélectionne un élément dans le contrôle ListBox. Les valeurs affichées de TopIndex et ListIndex sont mises à jour lorsque l’utilisateur sélectionne un élément ou quand l’utilisateur clique sur le 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 :
Une étiquette nommée Label1.
TextBox nommé TextBox1.
un contrôle Label nommé Label2 ;
un contrôle TextBox nommé TextBox2 ;
un contrôle CommandButton nommé CommandButton1 ;
un contrôle ListBox nommé ListBox1, lié au champ Objet.
Sub CommandButton1_Click()
Set ListBox1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("ListBox1")
Set TextBox1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("TextBox1")
Set TextBox2 = Item.GetInspector.ModifiedFormPages("P.2").Controls("TextBox2")
ListBox1.TopIndex = ListBox1.ListIndex
TextBox1.Text = ListBox1.TopIndex
TextBox2.Text = ListBox1.ListIndex
End Sub
Sub Item_PropertyChange(byval pname)
if pname = "Subject" then
Set TextBox1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("TextBox1")
Set TextBox2 = Item.GetInspector.ModifiedFormPages("P.2").Controls("TextBox2")
Set ListBox1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("ListBox1")
TextBox1.Text = ListBox1.TopIndex
TextBox2.Text = ListBox1.ListIndex
end if
End Sub
Sub Item_Open()
Set ListBox1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("ListBox1")
Set CommandButton1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("CommandButton1")
Set TextBox1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("TextBox1")
Set TextBox2 = Item.GetInspector.ModifiedFormPages("P.2").Controls("TextBox2")
Set Label1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("Label1")
Set Label2 = Item.GetInspector.ModifiedFormPages("P.2").Controls("Label2")
For i = 0 To 24
ListBox1.AddItem "Choice " & (i + 1)
Next
ListBox1.Height = 66
CommandButton1.Caption = "Move to top of list"
CommandButton1.AutoSize = True
CommandButton1.TakeFocusOnClick = False
Label1.Caption = "Index of top item"
TextBox1.Text = ListBox1.TopIndex
Label2.Caption = "Index of current item"
Label2.AutoSize = True
Label2.WordWrap = False
TextBox2.Text = ListBox1.ListIndex
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.