Aller au contenu principal
Mis à jour le

C'est quoi le VBA dans Excel ?

Le VBA est le langage de programmation intégré à Excel et aux autres applications Office qui permet d'automatiser des tâches répétitives, de créer des macros et des formulaires personnalisés. Il pilote directement les objets Excel (classeurs, feuilles, cellules).

À quoi sert un VBA dans Excel

Certaines automatisations Excel dépassent vite ce que l'enregistreur de macros sait faire. VBA, le langage de programmation intégré à Excel, permet alors de créer des macros évoluées, d'automatiser des traitements complexes et de construire des outils sur mesure directement dans tes classeurs. Là où l'enregistreur de macros Icône du bouton Enregistrer une macro reproduit mécaniquement tes clics, VBA permet d'écrire des programmes qui prennent des décisions, traitent des données en boucle et s'adaptent à des situations variables.

Tu vas l'utiliser quand tes automatisations dépassent les limites de l'enregistreur : traiter un fichier différemment selon son contenu, boucler sur des centaines de lignes pour transformer les données, afficher des formulaires de saisie personnalisés, interagir avec d'autres applications Office (Outlook, Word, Access), ou créer des fonctions personnalisées utilisables dans tes cellules comme n'importe quelle autre fonction Excel.

Éditeur Visual Basic d'Excel avec l'explorateur de projet et une procédure VBA dans la fenêtre de code
L'éditeur VBA (Alt+F11) réunit l'explorateur de projet et la fenêtre où s'écrit le code.

Comment écrire sa première macro VBA dans Excel

Le VBA te laisse programmer tes propres macros au lieu de te contenter de l'enregistreur. Voici comment ouvrir l'éditeur, créer un module et lancer une petite procédure qui affiche un message, pour te familiariser avec le langage.

  1. 1Appuie sur Alt+F11 pour ouvrir l'éditeur Visual Basic, la fenêtre séparée où s'écrit tout le code VBA de ton classeur.
  2. 2Dans le menu Insertion puis Module, crée un module vierge, c'est le fichier de code dans lequel tu vas taper ta procédure.
  3. 3Écris une procédure simple, par exemple Sub Bonjour() sur la première ligne, puis MsgBox "Salut" en dessous, puis End Sub pour fermer la procédure.
  4. 4Appuie sur F5 (ou clique sur le bouton Exécuter) pour lancer la macro, une boîte de dialogue affiche alors ton message. Reviens sur Excel avec Alt+F11.
  5. 5Enregistre le classeur au format prenant en charge les macros pour conserver ton code, sinon Excel efface le VBA à la fermeture.

Guide complet

Maîtriser les macros et le VBA de A à Z

Cette fiche donne l'essentiel pour comprendre le VBA. Pour vraiment le maîtriser, lire le code généré par une macro et le déclencher d'un simple bouton, suis la leçon complète du cours, avec captures d'écran et exemples.

Lire le guide complet
Exemple

Acheteur : traiter automatiquement les fichiers fournisseurs avec des structures variables

Tu es acheteur dans une centrale d'achat qui reçoit chaque semaine des listes de prix de 30 fournisseurs différents. Chaque fournisseur envoie son fichier dans un format légèrement différent : certains en CSV, d'autres en Excel, avec des colonnes dans des ordres variés et des noms de colonnes différents. Importer et normaliser ces fichiers manuellement te prend une demi-journée par semaine.

Avec VBA, tu écris une procédure qui parcourt un dossier, ouvre chaque fichier, détecte quel fournisseur c'est (par le nom du fichier ou par une cellule spécifique), applique la normalisation correspondante (réordonne les colonnes, convertit les devises, harmonise les unités), copie les données dans ton fichier centralisé et ferme le fichier source. Ce qui prenait 4 heures tourne maintenant en 3 minutes.

Quand un nouveau fournisseur rejoint ton panel, tu ajoutes son "profil" de traitement en quelques lignes de VBA. La logique de chaque fournisseur est documentée dans le code, ce qui simplifie la maintenance et la passation quand tu changes de poste.

Éditeur VBA ouvert sur un module contenant une macro commentée en français qui importe et normalise les fichiers de prix des fournisseurs.
La macro VBA parcourt le dossier des fichiers fournisseurs et normalise chaque liste de prix à la place d'une demi-journée de traitement manuel.

Astuces pour bien utiliser le VBA

Les fichiers contenant du VBA (.xlsm, .xlam) sont bloqués par certains antivirus et par les politiques de sécurité de nombreuses entreprises. Si tu travailles en environnement d'entreprise, vérifie que les macros VBA sont autorisées sur les postes de tes utilisateurs avant de déployer un outil basé sur VBA. Dans certains contextes, Power Query ou Office Scripts peuvent être des alternatives sans restriction de sécurité.

L'exécution pas à pas avec F8

Place le curseur dans ta procédure et appuie sur F8 pour l'exécuter une ligne à la fois. Tu vois exactement où le code dérape et l'état des cellules à chaque étape. Pose au besoin un point d'arrêt avec F9 pour filer directement jusqu'à l'endroit qui t'intéresse.

Option Explicit en tête de module

Écris Option Explicit sur la première ligne de chaque module pour forcer Excel à signaler toute variable non déclarée. Une simple faute de frappe dans un nom de variable devient alors une erreur visible au lieu d'un bug silencieux qui fausse tes résultats sans prévenir.

La fenêtre Exécution immédiate

Ouvre la fenêtre Exécution immédiate avec Ctrl+G dans l'éditeur pour tester un bout de code sans lancer toute la macro. Tape une instruction seule et appuie sur Entrée pour l'exécuter aussitôt, ou fais précéder une expression d'un point d'interrogation pour afficher sa valeur. C'est le brouillon idéal avant d'intégrer une ligne.

Questions fréquentes sur le VBA

Pour aller plus loin

Une question sur Excel ?

Pose-la à notre assistant Excel IA et obtiens une réponse claire en quelques secondes.

Demander à l'assistant IA

Gratuit · 10 questions par mois