Accueil/Cours gratuits/Bibliothèque VBA/Formulaires/Les contrôles d'un formulaire
Cours VBA gratuit | Formulaires

Les contrôles d'un formulaire

Gratuit, sans inscription Niveau 3 / 3 | Avancé Lecture 9 min V1.2 | 29/10/2026

Un bon formulaire guide l'utilisateur : une liste quand les réponses sont connues, une case à cocher pour un oui ou non, des boutons d'option pour un choix unique. Voici chaque contrôle, à quoi il sert et comment le lire en VBA.

Télécharger la fiche PDF gratuiteSans inscription, mise en page prête à imprimer

01Définition

En une phrase

Un contrôle est un élément interactif placé sur un UserForm. Chaque type a ses propriétés, dont la plus utilisée est Value : ce que l'utilisateur a saisi ou choisi.

02Quel contrôle pour quel besoin ?

ContrôlePréfixeUsagePropriété clé
Labellblafficher un intitulé ou un messageCaption
TextBoxtxtsaisie libre : nom, montant, commentaireValue
ComboBoxcboliste déroulante, un seul choixValue, ListIndex
ListBoxlstliste visible, un ou plusieurs choixValue, Selected
CheckBoxchkoui ou nonValue (True / False)
OptionButtonoptun choix parmi plusieursValue (True / False)
Framefraregrouper des contrôlesCaption
CommandButtonbtnlancer une actionCaption

03Remplir une liste

Trois façons de remplir une ComboBox
Private Sub UserForm_Initialize()
    ' 1. Élément par élément
    Me.cboStatut.AddItem "En cours"
    Me.cboStatut.AddItem "Terminé"

    ' 2. D'un coup, depuis une plage
    Me.cboVille.List = Worksheets("Listes").Range("A2:A30").Value

    ' 3. Liée à une plage (propriété RowSource)
    Me.lstProduits.RowSource = "Listes!B2:B50"
End Sub
💡 AstuceInterdire la saisie libre

Par défaut, une ComboBox accepte aussi un texte tapé au clavier. Pour obliger à choisir dans la liste, réglez sa propriété Style sur fmStyleDropDownList.

04Lire les choix

CheckBox, OptionButton et ComboBox
If Me.chkNewsletter.Value = True Then
    Cells(ligne, 5).Value = "Oui"
End If

If Me.optParticulier.Value Then
    Cells(ligne, 6).Value = "Particulier"
ElseIf Me.optProfessionnel.Value Then
    Cells(ligne, 6).Value = "Professionnel"
End If

If Me.cboVille.ListIndex = -1 Then
    MsgBox "Choisissez une ville."    ' -1 = rien de sélectionné
End If

05Une ListBox à sélection multiple

Réglez la propriété MultiSelect sur fmMultiSelectMulti, puis parcourez la liste avec une boucle For Next en testant Selected.

Récupérer tous les éléments cochés
Dim i As Long, choix As String
For i = 0 To Me.lstProduits.ListCount - 1
    If Me.lstProduits.Selected(i) Then
        choix = choix & Me.lstProduits.List(i) & ", "
    End If
Next i

La numérotation d'une liste commence à 0 : le premier élément est List(0).

06Pièges à éviter

⚠️ PiègeDes OptionButton qui ne s'excluent pas

Tous les boutons d'option d'un formulaire forment un seul groupe. Pour avoir deux questions séparées, placez chaque groupe dans un Frame, ou donnez-leur une propriété GroupName différente.

⚠️ PiègeRowSource sans nom de feuille

RowSource = "A2:A30" lit la feuille active du moment. Indiquez toujours la feuille : "Listes!A2:A30".

⚠️ PiègeValue d'une ListBox multiple

En sélection multiple, Value ne renvoie rien d'utile : il faut parcourir les éléments et tester Selected(i).

07Questions fréquentes

Quels contrôles utiliser dans un UserForm VBA ?

Un contrôle est un élément interactif placé sur un UserForm. Chaque type a ses propriétés, dont la plus utilisée est Value : ce que l'utilisateur a saisi ou choisi.

Quel est le piège le plus fréquent avec les contrôles d'un formulaire ?

Des OptionButton qui ne s'excluent pas. Tous les boutons d'option d'un formulaire forment un seul groupe. Pour avoir deux questions séparées, placez chaque groupe dans un Frame, ou donnez-leur une propriété GroupName différente.

La fiche « Les contrôles d'un formulaire » est-elle gratuite ?

Oui. La fiche est en accès libre et gratuit, sans inscription : vous pouvez la lire en ligne et télécharger sa version PDF. Elle fait partie du cours VBA gratuit de mesetudesdecas.fr, qui compte 21 fiches.

Pour les formateurs

Passez de la fiche à la mise en situation

Les études de cas mesetudesdecas.fr placent vos apprenants face à un vrai besoin d'entreprise. L'étude de cas XL-05 fait automatiser un devis commercial de bout en bout, macros comprises, avec énoncé, corrigé et pas-à-pas du formateur.

Découvrir l'étude de cas XL-05
Voir aussi

Toutes les fiches du cours VBA gratuit

Voir aussi le cours gratuit sur les formules Excel

Fiche V1.2 | Dernière mise à jour : 29/10/2026 | Clément Delobel, formateur Excel et VBA