VBA Excel : c'est quoi, à quoi ça sert et comment débuter
- il y a 3 jours
- 7 min de lecture
Le VBA Excel (Visual Basic for Applications) est le langage de programmation intégré à Excel. Il sert à automatiser des tâches répétitives, à créer des fonctions que Excel ne propose pas et à construire de vrais outils avec boutons et formulaires. Il est déjà présent dans ton Excel, sans licence ni installation supplémentaire. Reste la vraie question : quand l'utiliser, et quand s'en passer.
Au sommaire de ce guide :
VBA Excel, c'est quoi ?
VBA est l'abréviation de Visual Basic for Applications. C'est un langage de programmation créé par Microsoft et embarqué dans les logiciels de la suite Office : Excel, mais aussi Word, Access, Outlook et PowerPoint. Sa particularité, c'est qu'il ne fonctionne pas seul : il a besoin d'une application hôte pour s'exécuter. Dans notre cas, cette application est Excel.
Concrètement, le code VBA est stocké dans des modules, à l'intérieur même du classeur. Quand tu ouvres un fichier contenant du VBA, tu ouvres à la fois les données et le programme qui les manipule. C'est ce qui explique la plupart des contraintes qu'on verra plus bas.
Un premier exemple, le plus court possible :
Sub BonjourExcel()
MsgBox "Bonjour depuis VBA !"
End SubTrois lignes suffisent. Sub ouvre la procédure, MsgBox affiche une boîte de dialogue, End Sub la referme. C'est déjà une macro complète. Pour comprendre comment ces blocs s'organisent dans un classeur, commence par l'architecture d'un code Excel VBA.

Macro ou VBA : quelle différence ?
C'est la confusion numéro un en formation, et presque aucun tutoriel ne la lève clairement. Elle tient pourtant en une phrase : la macro est le résultat, le VBA est le langage.
Une macro est une suite d'actions automatisées, que tu déclenches d'un clic ou d'un raccourci clavier.
Le VBA est le langage dans lequel cette suite d'actions est écrite.
Quand tu utilises l'enregistreur de macros, Excel traduit tes clics en code VBA à ta place. Tu produis donc du VBA sans en écrire une seule ligne. C'est d'ailleurs la meilleure porte d'entrée : enregistrer une macro Excel, puis ouvrir le code généré pour le lire.
L'image que nos formateurs utilisent en salle : la macro, c'est la recette de cuisine ; le VBA, c'est la langue dans laquelle elle est rédigée. La même recette peut s'écrire en français ou en italien, les gestes restent les mêmes.
Dernier point de vocabulaire, souvent source de malentendu : « activer les macros » ne veut pas dire « activer le VBA ». Le VBA est toujours présent. Ce que tu autorises, c'est l'exécution du code contenu dans un fichier précis, pour des raisons de sécurité. La manipulation est détaillée dans activer les macros Excel.
À quoi sert le VBA sur Excel ?
Le VBA sert à faire faire à Excel ce que l'interface ne permet pas, ou ce qu'elle permet mais beaucoup trop lentement. Voici les usages que nos formateurs rencontrent le plus souvent en entreprise.
Automatiser un traitement récurrent. Un reporting mensuel qui demande trente manipulations identiques se relance en un clic.
Créer des fonctions personnalisées. Tu écris ta propre fonction, utilisable dans une cellule au même titre que SOMME ou RECHERCHEV.
Nettoyer et consolider des fichiers. Parcourir cinquante classeurs, extraire un onglet dans chacun, empiler le tout dans une feuille unique.
Piloter les autres logiciels Office. Générer un mail Outlook avec pièce jointe depuis Excel, remplir un document Word à partir d'un tableau.
Construire une interface de saisie. Les UserForms créent des formulaires avec champs, listes déroulantes et boutons, pour que l'utilisateur ne touche jamais aux cellules.
Déclencher une action sur événement. Exécuter du code à l'ouverture du classeur, à la modification d'une cellule ou avant l'enregistrement.
Exemple de fonction personnalisée, ici pour calculer un prix TTC :
Function PrixTTC(prixHT As Double, taux As Double) As Double
' Calcule le prix TTC a partir du prix HT
PrixTTC = prixHT * (1 + taux)
End FunctionUne fois ce code collé dans un module, la formule =PrixTTC(A2 ; 0,2) fonctionne dans n'importe quelle cellule du classeur, exactement comme une fonction native.
Le gain réel est rarement dans la complexité du code. Sur nos sessions intra-entreprise, les macros qui rapportent le plus sont souvent les plus simples : celles qui suppriment vingt minutes de mise en forme manuelle, tous les lundis matin.
Quand il ne faut pas utiliser VBA
C'est la partie que les sites de formation évitent, nous la mettons en avant. Une bonne partie de ce qu'on codait en VBA en 2010 se fait aujourd'hui mieux, plus vite et sans une ligne de code.
Importer, nettoyer et transformer des données → Power Query. Requête enregistrée une fois, rafraîchissement en un clic, aucun code, et le fichier reste en .xlsx.
Filtrer, dédoublonner ou trier dynamiquement → les fonctions FILTRE, UNIQUE et TRIER. Voir la fonction FILTRE et RECHERCHEX.
Agréger et croiser des données → un tableau croisé dynamique fait en trente secondes ce qu'une boucle VBA fait en trente lignes.
Partager le fichier en ligne → Excel pour le web n'exécute pas le VBA. Si le classeur doit vivre à plusieurs dans SharePoint ou OneDrive, regarde du côté d'Office Scripts.
Faire de l'analyse statistique lourde → Python dans Excel est aujourd'hui plus adapté que le VBA.
La règle que nos formateurs donnent en fin de module : si Power Query ou une fonction dynamique peut le faire, ne le fais pas en VBA. Garde le VBA pour ce qui n'a pas d'équivalent — le pilotage d'autres applications, les interfaces, les événements et les fonctions sur mesure.
Activer VBA et écrire sa première macro
Trois manipulations suffisent pour démarrer, et chacune a son tutoriel dédié sur le blog.
Activer l'onglet Développeur pour faire apparaître les outils VBA dans le ruban.
Autoriser les macros dans les paramètres de sécurité d'Excel.
Ouvrir l'éditeur VBA avec Alt + F11, puis insérer un module.
Ensuite, le réflexe à prendre : enregistrer une macro sur une manipulation que tu maîtrises déjà, puis aller lire le code produit. C'est de loin la façon la plus rapide de comprendre la syntaxe, parce que tu sais déjà ce que le code est censé faire. C'est d'ailleurs par là que démarre notre formation VBA Excel, avant d'attaquer les variables et les boucles.
[Capture d'écran : le ruban Excel avec l'onglet Développeur activé et le bouton Visual Basic]
Les limites du VBA à connaître avant de se lancer
Ces contraintes ne sont pas des détails : elles décident parfois si un projet VBA a du sens ou non. Autant les connaître avant d'écrire la première ligne.
Le format .xlsm est obligatoire. Un classeur contenant du code et enregistré en .xlsx perd tout son VBA.
Le VBA n'existe pas sur Excel pour le web. Le fichier s'ouvre, les macros ne s'exécutent pas.
Les macros sont bloquées par défaut depuis 2022 sur les fichiers téléchargés depuis Internet ou reçus par mail. Il faut débloquer le fichier dans ses propriétés avant de pouvoir l'exécuter.
Sur Mac, le VBA existe mais amputé. Les contrôles ActiveX et tout ce qui appelle les API Windows ne fonctionnent pas.
Aucune portabilité. Un classeur VBA ne fonctionne pas dans Google Sheets, qui utilise Apps Script.
Le langage est figé depuis 2010. Microsoft le maintient pour la compatibilité mais ne le fait plus évoluer.
Beaucoup de DSI restreignent les macros par politique de sécurité. À vérifier avant de construire un outil que personne ne pourra lancer.
Écrire du VBA avec l'IA en 2026
Les assistants IA écrivent du VBA correct sur des tâches simples, et c'est devenu une porte d'entrée réelle. Autant savoir ce qu'ils font bien et ce qu'ils font mal.
Ce qui marche bien : générer le squelette d'une macro, expliquer ligne par ligne un code hérité dont plus personne ne connaît l'auteur, traduire un message d'erreur.
Ce qui marche mal : l'IA ne connaît ni la structure de ton classeur, ni tes noms d'onglets, ni tes plages. Elle invente parfois des méthodes qui n'existent pas.
Le vrai piège : un code VBA peut s'exécuter sans erreur et faire la mauvaise chose. Sur des données de production, ça ne se voit pas tout de suite.
D'où le conseil de nos formateurs : l'IA accélère celui qui sait lire le VBA, elle met en difficulté celui qui ne sait pas. Apprendre les bases — variables, conditions, boucles, objets — reste le meilleur investissement, même si tu ne prévois pas d'écrire une ligne à la main.
Par où continuer : le parcours VBA complet
Voici l'ordre dans lequel nos formateurs conseillent d'enchaîner, du premier clic au premier vrai outil.
Activer le mode développeur : faire apparaître les outils.
Activer les macros : autoriser l'exécution du code.
Ouvrir l'éditeur VBA : découvrir l'environnement de travail.
Enregistrer une première macro : produire du code sans en écrire.
Comprendre l'architecture d'un code VBA : modules, procédures, où va quoi.
Utiliser les objets VBA : classeurs, feuilles et plages, la logique objet-propriété-méthode.
La fonction MsgBox : dialoguer avec l'utilisateur.
Les articles sur les variables, les boucles et les UserForms complètent ce parcours et arrivent prochainement sur le blog.
Envie de situer ton niveau Excel avant d'attaquer le VBA ? Fais le test Excel gratuit avec correction en ligne. Et si tu préfères être accompagné plutôt que d'avancer en autodidacte, notre formation VBA Excel reprend ce parcours de zéro jusqu'aux UserForms, en intra-entreprise comme en individuel.
FAQ : le VBA sur Excel
Le VBA est-il gratuit ?
Oui. Il est inclus dans toutes les versions bureau d'Excel, sans supplément ni installation. Il n'y a rien à acheter ni à télécharger : il suffit d'afficher l'onglet Développeur.
Faut-il savoir programmer pour apprendre le VBA ?
Non. La plupart des personnes que nous formons n'ont jamais codé. On commence par enregistrer des macros, ce qui génère le code automatiquement, puis on apprend à le lire et à le modifier avant d'en écrire soi-même.
Combien de temps faut-il pour apprendre le VBA ?
Les bases utiles au quotidien — macros, variables, conditions, boucles — s'acquièrent en quelques jours de pratique guidée. L'autonomie réelle, celle où tu écris un outil complet de zéro, demande plutôt quelques semaines de pratique régulière sur tes propres fichiers.
Le VBA fonctionne-t-il sur Mac ?
Oui, l'éditeur s'ouvre avec Alt + F11 ou Option + F11. En revanche, les contrôles ActiveX et tout ce qui appelle les API Windows ne fonctionnent pas : un classeur conçu sur PC n'est pas garanti sur Mac.
Quelle différence entre VBA et Power Query ?
Power Query transforme des données selon une requête enregistrée, sans code, et se rafraîchit d'un clic. Le VBA exécute des instructions que tu écris et peut agir sur tout Excel, pas seulement sur les données. Pour importer et nettoyer, Power Query ; pour piloter, créer des interfaces ou automatiser des actions, le VBA.
Le VBA va-t-il disparaître ?
Rien ne l'indique à court terme. Microsoft ne le fait plus évoluer depuis 2010 mais continue de le maintenir, parce qu'un nombre considérable d'outils métiers en entreprise reposent dessus. Office Scripts est l'alternative moderne côté web, sans le remplacer sur le bureau.





