Définir la largeur de la liste Drop-Down d’une zone de liste déroulante
L’exemple suivant utilise un SpinButton pour contrôler la largeur de la liste déroulante d’un objet ComboBox. L’utilisateur change la valeur du SpinButton, puis clique sur la flèche déroulante du ComboBox pour afficher la liste.
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 :
un contrôle ComboBox nommé ComboBox1 ;
un contrôle SpinButton nommé SpinButton1 lié à un champ numérique personnalisé nommé SpinButtonValue ;
Une étiquette nommée Label1.
Sub Item_Open()
Set ComboBox1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("ComboBox1")
Set SpinButton1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("SpinButton1")
Set Label1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("Label1")
For i = 1 To 20
ComboBox1.AddItem "Choice " & (ComboBox1.ListCount + 1)
Next
SpinButton1.Min = 0
SpinButton1.Max = 130
'convert listwidth value from '122 pt' to an integer
intpos = instr(combobox1.listwidth," ")
intwidth = left(combobox1.listwidth,intpos-1)
SpinButton1.Value = intwidth
SpinButton1.SmallChange = 5
Label1.Caption = "ListWidth = " & SpinButton1.Value
End Sub
Sub Item_CustomPropertyChange(byval pname)
If pname = "SpinButtonValue" Then
Set ComboBox1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("ComboBox1")
Set SpinButton1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("SpinButton1")
Set Label1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("Label1")
ComboBox1.ListWidth = SpinButton1.Value
Label1.Caption = "ListWidth = " & SpinButton1.Value
End If
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.