Aller au contenu principal
Mis à jour le

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.

Le conseil du pro
Le vrai intérêt d'un formulaire, c'est de contrôler la saisie avant de l'écrire. Dans le code de ton bouton d'enregistrement, vérifie que les champs obligatoires sont remplis et bloque l'écriture par un message clair si l'un manque.

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.

  1. 1Appuie sur Alt+F11 pour ouvrir l'éditeur Visual Basic.
  2. 2Déroule le menu Insertion, puis clique sur UserForm : une fenêtre vierge et sa boîte à outils apparaissent.
  3. 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.
  4. 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.
  5. 5Affiche le formulaire en exécutant l'instruction MonFormulaire.Show dans une macro.
L'astuce en plus
Pour qu'une liste déroulante affiche ses choix dès l'ouverture du formulaire, remplis-la dans l'événement UserForm_Initialize. Ce code tourne une seule fois, juste avant l'affichage, et garde la liste calée sur tes données sources.

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.

Le savais-tu ?
Contrairement aux contrôles ActiveX, un formulaire utilisateur fonctionne aussi dans Excel pour Mac, où VBA est pris en charge depuis 2011. Quelques réglages fins de contrôles peuvent y manquer, mais le formulaire s'ouvre et se remplit comme sous Windows.
Exemple

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.

Éditeur VBA affichant un formulaire utilisateur en mode création avec des champs de saisie pour une note de frais et la boîte à outils.
Le formulaire utilisateur se dessine dans l'éditeur VBA, avec ses champs date, type de dépense et montant pour la saisie des notes de frais.
FAQ

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.

Ressources

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 lexique