ComboBox
Le contrôle menu déroulant
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
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
cbo_nom.RowSource = ""
For i = 1 To 5
cbo_nom.AddItem Year(DateAdd("yyyy", i - 2, Date))
Next i
cbo_nom.ColumnWidths = 60
Vide un menu déroulant
Supprime les données existantes dans un ComboBox
ComboBox1.Clear
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
'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
'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