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.