C'est quoi un formulaire utilisateur (UserForm) dans Excel ?
Un formulaire utilisateur, appelé UserForm en VBA, est une fenêtre de saisie personnalisée qu'on dessine soi-même dans l'éditeur de macros. On y dispose les contrôles de son choix, zones de texte, listes déroulantes, cases à cocher et boutons. C'est ensuite du code VBA qui l'affiche et qui range la saisie dans les cellules.
À quoi sert un formulaire utilisateur (UserForm) dans Excel
Un formulaire utilisateur te sert à faire saisir des données par une fenêtre guidée plutôt que directement dans les cellules. Tes collègues remplissent des champs étiquetés, choisissent dans des listes et cliquent sur un bouton, sans jamais toucher à la grille ni aux formules qui tournent derrière.
Tu y viens dès que la saisie en direct devient trop risquée, quand une colonne décalée ou une formule écrasée coûte cher. Le formulaire rend le plus grand service sur les saisies répétitives, l'enregistrement d'un client, d'une commande ou d'un pointage d'heures, parce qu'il vérifie chaque valeur avant de l'écrire au bon endroit.

Comment créer un formulaire utilisateur (UserForm) dans Excel
Un formulaire utilisateur se construit dans l'éditeur VBA, en glissant des contrôles sur une fenêtre vierge. Tu ajoutes ensuite le code qui traite la saisie et l'écrit dans tes cellules.
- 1Appuie sur Alt+F11 pour ouvrir l'éditeur Visual Basic.
- 2Déroule le menu Insertion, puis clique sur UserForm : une fenêtre vierge et sa boîte à outils apparaissent.

UserForm arrive juste avant Module dans le menu. C'est un objet distinct du module de code, avec sa propre surface de dessin et sa boîte à outils. - 3Fais glisser les contrôles voulus depuis la boîte à outils, une zone de texte, une liste déroulante ou un bouton, et pose-les sur le formulaire.
- 4Double-clique sur ton bouton d'enregistrement pour ouvrir sa fenêtre de code, puis écris le VBA qui range la saisie dans les cellules.
- 5Affiche le formulaire en exécutant l'instruction MonFormulaire.Show dans une macro.
Comment afficher un formulaire utilisateur sans ouvrir l'éditeur VBA
Une fois le formulaire dessiné, personne ne l'ouvrira en tapant Alt+F11 puis en lançant une macro à la main. Pose plutôt un bouton sur la feuille, depuis l'onglet Développeur, et affecte-lui une macro d'une seule ligne, UserForm1.Show. Ton collègue clique sur ce bouton, le formulaire apparaît, et il n'ouvre jamais l'éditeur VBA.
Par défaut, ce formulaire s'ouvre en mode modal, ce qui fige la feuille tant qu'il reste à l'écran. C'est le bon réglage pour une saisie qu'on veut terminer avant de reprendre le travail. Si tu préfères garder la feuille cliquable pendant qu'il flotte, pour un formulaire de recherche par exemple, affiche-le avec l'option vbModeless.
Quelle différence entre un UserForm et le formulaire de saisie d'Excel
Le formulaire de saisie et le formulaire utilisateur ne se construisent pas du tout de la même façon, et c'est là qu'ils se séparent. Le formulaire de saisie est un formulaire tout prêt qu'Excel génère seul à partir des en-têtes de ton tableau, une zone de texte par colonne, sans une ligne de code. Son revers, c'est qu'il ne se personnalise pas, ni menu déroulant, ni case à cocher, ni bouton sur mesure.
Le formulaire utilisateur prend le problème par l'autre bout. C'est toi qui le dessines dans l'éditeur VBA, champ par champ, avec les listes et les boutons que tu veux, puis toi encore qui écris le code rangeant la saisie dans la feuille. Tu obtiens l'interface exacte que tu visais, au prix d'un vrai travail de mise en place.
La règle tient en une ligne. Le formulaire de saisie sert à saisir vite dans un tableau existant, un formulaire utilisateur dès que la présentation et la validation pèsent plus que le temps de le construire.
Les termes liés au formulaire utilisateur
Questions fréquentes
sur le formulaire utilisateur

Les contrôles de formulaire se posent directement sur la feuille et renvoient une valeur dans une cellule liée, ils conviennent à des interactions simples. Un UserForm est une fenêtre à part entière, avec plusieurs champs regroupés et une vraie logique de validation avant enregistrement. Utilise un UserForm quand tu veux un écran de saisie guidé et complet plutôt qu'un ou deux boutons isolés.
Ouvre l'éditeur VBA avec Alt+F11, puis, dans l'explorateur de projet à gauche, double-clique sur ton formulaire pour le rouvrir en mode création. Tu y déplaces ou redimensionnes les contrôles à la souris, et tu ajustes chaque réglage dans la fenêtre Propriétés. Pour retoucher le code, double-clique cette fois sur un contrôle, ce qui ouvre directement sa procédure.
Oui, un UserForm repose entièrement sur du VBA, il faut donc enregistrer le fichier dans un format prenant en charge les macros et autoriser leur exécution à l'ouverture. Si les macros sont désactivées, le formulaire ne s'affiche pas et le bouton qui l'appelle reste sans effet. Pense-y avant de distribuer le fichier à des collègues dont les paramètres bloquent les macros.
Pour aller plus loin
Tout ce dont tu as besoin pour passer de la définition à l’usage se trouve ici.






