Easy-Micro

ESPACEMEMBRE Formulaire
ComboBox

Le contrôle menu déroulant

VBA Remplir un menu déroulant

Technique 1 : Remplir dynamiquement un combobox dans une procédure évènementielle "Change" sur le combo
cbo_nom.AddItem "Jacques Delmas"
cbo_nom.AddItem "Henry Matisse"
cbo_nom.AddItem "Georges Cloney"

cbo_nom.ColumnWidths = 55

'prise en compte des items (1) - et pas des index (0)
cbo_nom.BoundColumn = 1

Technique 2 : Remplissage dynamique d'une combo toujours dans une procédure évènementielle "Change" sur le combo
Dim i As Integer
cbo_nom.RowSource = ""
For i = 1 To 5
cbo_nom.AddItem Year(DateAdd("yyyy", i - 2, Date))
Next i
cbo_nom.ColumnWidths = 60

VBA Vide un menu déroulant

Supprime les données existantes dans un ComboBox
ComboBox1.Clear

VBA Procédure évènementielle

Private Sub btn_MonBouton_Click()
'Gestion d'une liste déroulante (nommée ici, cbo)

Range("E1").Value = cbo.ListRows 'Nombre de ligne
Range("E2").Value = cbo.ListCount 'Nombre d'éléments
Range("E3").Value = cbo.ListIndex + 1 'Numéro d'index de l'élement sélectionné (commence à zéro)
Range("E4").Value = cbo.Value 'Valeur de l'élément sélectionné

End Sub

Private Sub UserForm_Initialize()
'Initialisation du formulaire

'cbo.Text = "Mai" 'Valeur affichée par défaut
cbo.Text = MonthName(Month(Now)) 'Si liste de mois, mois en cours affiché par défaut
cbo.ColumnCount = 2 'Nombre de colonne affichées par défaut
cbo.BoundColumn = 1 'Quelle colonne est récupérée par défaut (1 ou 2)

End Sub


< Page précédente FORMULAIRE Page suivante >