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.
- 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.
Centraliser les notes de frais sans erreur de saisie
Les consultants te remettent leurs notes de frais chaque semaine, et tu dois les saisir dans un tableau Excel centralisé. Le problème : quand tu laisses les consultants saisir eux-mêmes, ils se trompent de colonne, oublient des champs obligatoires ou saisissent des dates au mauvais format.
Avec un formulaire utilisateur, tu crées une interface de saisie avec un champ date (au bon format), une liste déroulante pour le type de dépense, un champ montant qui n'accepte que des nombres et un bouton Enregistrer. Le formulaire vérifie que tous les champs sont remplis avant d'ajouter la ligne au tableau.
Le consultant ouvre le fichier, clique sur un bouton "Nouvelle note de frais", remplit le formulaire et valide. La ligne s'ajoute automatiquement à la suite du tableau, avec le bon formatage. Tu n'as plus de corrections à faire.

Pour aller plus loin
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.
Du mot à la pratique
Tu sais maintenant ce que le mot veut dire. Reste à s’en servir : la formule, le fichier, et le cours qui remet tout dans l’ordre.
Tout le lexiqueDes modèles Excel prêts à télécharger

Toutes les formules Excel, expliquées

Tout le cours Excel en PDF


