3 - Formation VBA — créer un formulaire avec VBA !

On se retrouve dans cette troisième partie de la formation gratuite VBA (Visual Basic for Applications), découvrons comment créer un formulaire en VBA Excel qui révolutionnera votre manière de gérer les données.

Vous êtes confronté à des tâches répétitives et chronophages pour organiser vos informations ? Cette leçon est spécialement conçu pour vous aider à automatiser ces processus et gagner un temps précieux.

En suivant notre méthode pas-à-pas, vous apprendrez à concevoir et personnaliser un UserForm dynamique pour une saisie de données fluide et efficace. Grâce à des astuces simples et un code réutilisable, vous pourrez dire adieu aux saisies manuelles fastidieuses et booster votre productivité dès aujourd'hui !

Prêts à créer vos propres formulaires pour gérer vos données d'une manière plus efficace ? C'est parti !

Au programme de ce troisième module :

En route pour le niveau expert ? Avec notre formation Excel VBA individualisée, apprenez efficacement, à votre rythme.

Vidéo 3 :  formation VBA — créer un formulaire avec VBA !

Pourquoi utiliser un formulaire en VBA ?

Un formulaire VBA permet d’optimiser la saisie des données dans Excel tout en évitant les erreurs humaines. Voici trois bonnes raisons de l’adopter dès maintenant :

1. Automatiser la saisie de données

Avec un formulaire, plus besoin de remplir manuellement chaque cellule d’un tableau Excel. Vous entrez vos données dans des champs spécifiques, puis un simple clic sur un bouton les enregistre automatiquement dans la bonne feuille. Résultat : un gain de temps immédiat et une suppression des tâches répétitives.

2. Standardiser et éviter les erreurs de saisie

Lorsque les collaborateurs remplissent un tableau à la main, les incohérences sont fréquentes :

  • Différences de format (ex. : "Janvier" vs. "janv.")
  • Espaces invisibles qui faussent les calculs
  • Erreurs de frappe ou oublis de valeurs

Avec un formulaire VBA, vous imposez des règles de saisie claires et uniformes : listes déroulantes, formats spécifiques (dates, nombres), champs obligatoires… Votre base de données devient fiable et exploitable sans correction manuelle.

3. Faciliter l’analyse des données

Des données propres et bien structurées, c’est aussi une meilleure analyse. Que ce soit pour des tableaux croisés dynamiques, des graphiques ou des rapports automatisés, un formulaire VBA garantit une base solide pour travailler plus efficacement.

Prêt à créer votre formulaire VBA ? Commençons par préparer votre fichier Excel.

Préparer son fichier Excel

Avant de plonger dans le code VBA, il faut structurer correctement votre fichier Excel. Une bonne préparation garantit un formulaire efficace et facile à exploiter. Voici les étapes essentielles :

1. Créer une feuille dédiée aux données

Nous allons stocker les informations saisies par le formulaire dans une feuille spécifique.

  1. Ajoutez une nouvelle feuille (clic droit sur un onglet > Insérer > Feuille).
  2. Renommez-la (ex. : "Données_Formulaire") pour mieux l’identifier.
  3. Ajoutez les en-têtes de colonne, selon les informations que vous voulez collecter.

Exemple de structure :

Date de saisieNomPrénomDépartementStatut
22/03/2025DupontPierreMarketingActif

💡 Astuce : Insérez une ligne de titres claire (en gras), puis appliquez un format de tableau (Accueil > Mettre sous forme de tableau) pour stabiliser votre base.

2. Définir un format cohérent

Un bon formulaire impose des règles de saisie standardisées pour éviter les erreurs :

  • Dates : Format JJ/MM/AAAA
  • Textes : Premières lettres en majuscule (ex. : "Dupont" et non "dupont")
  • Listes déroulantes pour les choix prédéfinis (ex. : services, statuts)

3. Ajuster les colonnes et la mise en page

Pour une lecture fluide et claire :

  • Ajustez la largeur des colonnes en double-cliquant entre les lettres d’en-tête.
  • Appliquez une mise en forme conditionnelle (ex. : couleurs différentes pour les statuts).
  • Ajoutez un filtre (Données > Filtrer) pour faciliter la navigation.

Votre fichier Excel est prêt ! Passons maintenant à la création du formulaire VBA.

Créer un formulaire avec VBA : les étapes essentielles

Maintenant que votre fichier est prêt, il est temps de créer le formulaire en VBA. L’objectif est d’ajouter une interface qui permettra de saisir facilement des informations et de les envoyer automatiquement dans la feuille Données_Formulaire.

1. Accéder à l’éditeur VBA

Pour créer un formulaire, vous devez ouvrir l’éditeur VBA d’Excel.

  1. Activez l’onglet Développeur (si ce n’est pas encore fait) :
    • Fichier > Options > Personnaliser le ruban > Cochez Développeur.
  2. Ouvrez l’éditeur VBA :
    • ALT + F11 pour afficher l’interface de programmation.
  3. Créez un nouveau formulaire :
    • Dans l’explorateur de projet (fenêtre de gauche), cliquez droit sur VBAProject (VotreFichier.xlsx) > Insertion > UserForm.

Un formulaire vide apparaît. C’est notre future interface utilisateur.


2. Ajouter les éléments interactifs

Un formulaire VBA est constitué de plusieurs contrôles (éléments interactifs). Voici ceux dont nous aurons besoin :

ÉlémentFonction
LabelTitre et descriptions des champs
TextboxZone de saisie du nom et prénom
ComboBoxListe déroulante pour sélectionner un département
Bouton (CommandButton)Valider et enregistrer les données

Ajout des éléments :

  1. Sélectionnez l’outil désiré dans la boîte à outils.
  2. Cliquez-glissez sur le formulaire pour le dessiner.
  3. Modifiez les propriétés (fenêtre Propriétés à gauche).

Exemple d'organisation :

  • Un titre en haut ("Formulaire de saisie")
  • Deux labels ("Nom" et "Prénom") avec deux zones de texte en dessous
  • Un label "Département" avec une liste déroulante (ComboBox)
  • Un bouton "Valider" en bas du formulaire

3. Personnaliser l’apparence du formulaire

Un bon design facilite la saisie et améliore l’expérience utilisateur.

  • Ajustez la taille des champs pour qu’ils soient bien visibles.
  • Utilisez une police lisible (ex. : Calibri 12).
  • Centrez les textes pour un affichage plus clair.
  • Appliquez des couleurs pour différencier les sections.

💡 Astuce : Dans la fenêtre Propriétés, modifiez BackColor pour personnaliser le fond du formulaire.

Votre formulaire est prêt ! Il ne reste plus qu’à lui ajouter du code VBA pour qu’il fonctionne.

Ajouter du code VBA pour rendre le formulaire fonctionnel

Votre formulaire est en place, mais pour qu’il enregistre correctement les données dans votre fichier Excel, nous allons ajouter du code VBA. L’objectif est simple : lorsque vous cliquez sur le bouton Valider, les informations saisies dans le formulaire doivent être automatiquement enregistrées dans la feuille Données_Formulaire.

1. Ouvrir l’éditeur VBA et associer une macro au bouton

  1. Double-cliquez sur le bouton Valider de votre formulaire.
  2. Une fenêtre s’ouvre avec un espace de code.
  3. À l’intérieur, nous allons écrire notre programme pour enregistrer les données.

2. Ajouter le code VBA pour enregistrer les données

Copiez-collez ce code dans l’espace dédié :

Private Sub btnValider_Click()
   Dim dernièreLigne As Long
   Dim ws As Worksheet
   Set ws = ThisWorkbook.Sheets("Données_Formulaire")

  ' Trouver la première ligne vide
  dernièreLigne = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row + 1

 ' Enregistrement des données
 ws.Cells(dernièreLigne, 1).Value = Date ' Date automatique
 ws.Cells(dernièreLigne, 2).Value = Me.txtNom.Value
 ws.Cells(dernièreLigne, 3).Value = Me.txtPrénom.Value
 ws.Cells(dernièreLigne, 4).Value = Me.cboDépartement.Value

 ' Réinitialisation des champs après validation
 Me.txtNom.Value = ""
 Me.txtPrénom.Value = ""
 Me.cboDépartement.Value = ""

 MsgBox "Les données ont bien été enregistrées !", vbInformation, "Confirmation"
End Sub

3. Explication du code

  • Repérage de la première ligne vide dans la feuille Données_Formulaire.
  • Insertion automatique de la date du jour dans la première colonne.
  • Enregistrement des valeurs saisies dans les colonnes correspondantes.
  • Effacement des champs après validation pour une nouvelle saisie.
  • Message de confirmation pour l’utilisateur.

Astuce : Vérifiez que les noms des contrôles correspondent aux vôtres (ex. : txtNom, txtPrénom, cboDépartement). Vous pouvez les modifier dans la fenêtre Propriétés de VBA.

4. Tester et déboguer votre formulaire

  1. Fermez VBA et retournez sur Excel.
  2. Créez un bouton sur la feuille d’accueil :
    • Onglet Développeur > Insérer > Bouton ActiveX.
    • Nommer le bouton : "Ouvrir le formulaire".
    • Ajoutez ce code au bouton :
 Private Sub btnOuvrirForm_Click()
    UserForm1.Show
End Sub

3. Lancez le formulaire, saisissez des données et cliquez sur Valider.
4. Vérifiez que les informations apparaissent bien dans la feuille Données_Formulaire.

Votre formulaire est maintenant fonctionnel ! Il reste à l’optimiser avec quelques bonnes pratiques.

Tester et déboguer son formulaire

Votre formulaire est maintenant opérationnel, mais avant de l’utiliser en production, il est essentiel de tester son fonctionnement et d’anticiper d’éventuelles erreurs. Voici comment procéder.


1. Vérifier le bon enregistrement des données

  1. Ouvrez votre formulaire en cliquant sur le bouton que nous avons créé.
  2. Saisissez des informations et cliquez sur Valider.
  3. Allez dans la feuille "Données_Formulaire" et vérifiez que :
    • La nouvelle ligne est bien ajoutée.
    • Les informations sont placées dans les bonnes colonnes.
    • La date s’insère correctement.

💡 Si les données ne s’enregistrent pas, assurez-vous que :

  • Les noms des contrôles (txtNom, txtPrénom, etc.) sont bien les mêmes dans le code VBA.
  • La feuille de destination s’appelle bien "Données_Formulaire".

2. Gérer les erreurs de saisie

Un bon formulaire empêche les utilisateurs d’entrer des valeurs incorrectes. Ajoutons une vérification dans notre code VBA pour éviter les oublis.

Remplacez le code du bouton Valider par ceci :

Private Sub btnValider_Click()
   Dim dernièreLigne As Long
   Dim ws As Worksheet
   Set ws = ThisWorkbook.Sheets("Données_Formulaire")

' Vérifier que tous les champs sont remplis
If Me.txtNom.Value = "" Or Me.txtPrénom.Value = "" Or Me.cboDépartement.Value = "" Then
    MsgBox "Veuillez remplir tous les champs avant de valider.", vbExclamation, "Erreur"
    Exit Sub
End If

' Trouver la première ligne vide
dernièreLigne = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row + 1

' Enregistrement des données
ws.Cells(dernièreLigne, 1).Value = Date ' Date automatique
ws.Cells(dernièreLigne, 2).Value = Me.txtNom.Value
ws.Cells(dernièreLigne, 3).Value = Me.txtPrénom.Value
ws.Cells(dernièreLigne, 4).Value = Me.cboDépartement.Value

' Réinitialisation des champs après validation
Me.txtNom.Value = ""
Me.txtPrénom.Value = ""
Me.cboDépartement.Value = ""

MsgBox "Les données ont bien été enregistrées !", vbInformation, "Confirmation"
End Sub

Qu’apporte ce code ?

  • Empêche les champs vides : Si un champ est vide, un message d’alerte s’affiche et l’enregistrement est bloqué.
  • Fiabilité accrue : Vous êtes sûr que seules des données complètes sont enregistrées.

3. Tester la robustesse du formulaire

Pour simuler des erreurs et vérifier la résistance du formulaire, essayez ces manipulations :

  • Saisir un seul champ et cliquer sur Valider → Un message d’erreur doit s’afficher.
  • Essayer d’entrer des caractères non valides (ex. : chiffres dans un champ texte).
  • Fermer le formulaire sans valider → Aucun changement ne doit être fait dans Excel.
  • Ouvrir le formulaire plusieurs fois et tester la réactivité.

Félicitations, votre formulaire est maintenant sécurisé et prêt à être utilisé en entreprise ! Passons à la conclusion et aux derniers conseils.

Conclusion : Gagnez du temps avec un formulaire VBA

Vous venez de créer un formulaire VBA qui automatise la saisie des données et réduit considérablement les erreurs. Plus besoin de copier-coller, de rechercher les bonnes cellules, ni de corriger des fautes de frappe : tout est géré en un clic !

Grâce à ce formulaire, vous avez :

  • Une saisie rapide et fluide dans un environnement structuré.
  • Une base de données propre et facilement exploitable.
  • Un gain de temps immédiat, avec une saisie standardisée et automatique.

💡 Et si vous alliez encore plus loin ? Imaginez toutes les automatisations possibles avec VBA : envoi d'e-mails, génération de fichiers PDF, création de tableaux de bord dynamiques…

Prochain cours

Et voilà, vous venez de terminer le troisième module de notre formation Excel (macros) VBA en ligne avec PDF ! Vous avez maintenant les bases pour créer un formulaire avec VBA et automatiser la saisie des données comme un pro. Vous gagnez du temps, réduisez les erreurs et structurez vos fichiers Excel de manière optimale. N’oubliez pas, la clé est de pratiquer : testez, ajustez et personnalisez votre formulaire pour l’adapter à vos besoins et améliorer votre productivité.

Vous souhaitez aller plus loin sur Excel VBA ? Notre formation Excel VBA CPF certifiante pour une montée en compétences rapide avec un formateur Excel VBA est parfaite.

Prochain rendez-vous ? Apprenez à coder et automatiser avec VBA !

Excel vous fait perdre du temps ? Demandez un AUDIT gratuit
  • Identifier ce qui vous ralentit dans vos fichiers
  • Voir ce qui peut être automatisé ou fiabilisé
  • Comprendre comment faire évoluer votre façon de travailler
  • Découvrir le format de formation le plus efficace pour vous
  • Repartir avec une vision claire (même sans formation)
100 % gratuit • Sans engagement • 15 minutes Réservé aux professionnels basés en France
NICOLAS PARENT - Formateur Excel -
Expliquez-nous comment vous travaillez sur Excel. On vous montre quoi améliorer. En 15 minutes avec un expert, vous allez pouvoir :
LES 25 FONCTIONS EXCEL LES PLUS UTILISÉES !
E-book Excel offert