Tu passes tes journées à répéter les mêmes manipulations dans Excel : copier, coller, mettre en forme, filtrer, refaire le même tableau chaque semaine. Chacune de ces tâches prend quelques minutes, et mises bout à bout, elles mangent des heures. Le VBA existe précisément pour ça : apprendre à ta feuille à faire le travail à ta place.
Le VBA (Visual Basic for Applications) est le langage de programmation intégré à Excel qui permet d'automatiser des tâches, de créer des outils sur mesure et de faire en un clic ce qui te prend d'ordinaire une demi-heure. Et bonne nouvelle : on ne part pas de la théorie informatique, on part de tes vrais besoins Excel.
Ce guide est un parcours complet, de la toute première ligne de code jusqu'aux interfaces (les UserForms). Tu n'as besoin d'aucune base en programmation. Si Excel lui-même est encore récent pour toi, garde à portée le guide Excel débutant avant de te lancer.
- Ouvrir l'éditeur VBA et écrire ta première macro
- Lire et comprendre n'importe quel code Excel
- Utiliser variables, conditions et boucles
- Manipuler cellules et plages en code
- Créer tes propres fonctions Excel
- Gérer les erreurs proprement
- Construire une interface avec un UserForm
Le VBA, c'est quoi exactement
Le VBA est le langage qui vit à l'intérieur d'Excel (et des autres logiciels Office). Chaque fois que tu cliques quelque part dans Excel, en coulisses, une instruction VBA pourrait faire la même chose. Écrire du VBA, c'est donner à Excel une liste d'instructions qu'il exécute tout seul, dans l'ordre, sans erreur et sans fatigue.
On confond souvent macro et VBA. Une macro, c'est une suite d'actions enregistrées ou programmées ; le VBA, c'est le langage dans lequel cette macro est écrite. Enregistrer une macro génère automatiquement du code VBA, que tu peux ensuite lire et améliorer. C'est d'ailleurs la meilleure porte d'entrée, et on commence par là.
- L'éditeur VBA : ouvrir l'atelier où tu vas coder
- Ta première macro : la faire écrire par Excel, sans coder
- Lire le code : objets, propriétés, méthodes
- Les variables : stocker et réutiliser une information
- Cellules et plages : Range et Cells
- Les conditions : réagir selon les cas (If, Select Case)
- Les boucles : répéter sans se répéter (For, For Each)
- Procédures et fonctions : ranger et réutiliser ton code
- La gestion des erreurs : un code qui ne plante pas
- Les UserForms : créer une vraie interface
Pourquoi apprendre le VBA en 2026
On entend que l'IA et Python vont remplacer le VBA. La réalité est plus simple : le VBA est installé sur des centaines de millions de postes, il tourne sans rien à configurer, et il pilote Excel mieux que n'importe quel outil externe. L'IA t'aide d'ailleurs à écrire du VBA plus vite (on y revient à la fin), mais encore faut-il savoir lire et corriger ce qu'elle produit. Apprendre le VBA, c'est gagner en autonomie, pas s'attacher à une technologie du passé.
Étape 1 : ouvrir l'éditeur VBA
Tout se passe dans un espace dédié : l'éditeur VBA, aussi appelé VBE. Pour y accéder, active d'abord l'onglet Développeur (Fichier, Options, Personnaliser le ruban, coche Développeur), puis appuie sur Alt + F11. Tu peux aussi cliquer sur Visual Basic dans l'onglet Développeur.
Dans l'éditeur, insère un module (menu Insertion, Module) : c'est la feuille blanche où ton code va vivre. Écris ceci, puis appuie sur F5 pour l'exécuter.
Sub MonPremierCode()
MsgBox "Bonjour depuis VBA !"
End Sub
Une boîte de message s'affiche. Bravo, tu viens d'exécuter ton premier programme. Tout code VBA vit entre Sub et End Sub : c'est une procédure, un bloc d'instructions qui porte un nom.
Étape 2 : ta première macro sans écrire une ligne
La façon la plus rapide de produire du VBA, c'est de laisser Excel l'écrire pour toi. Dans l'onglet Développeur, clique sur Enregistrer une macro, fais quelques manipulations (mets une cellule en gras, change une couleur), puis arrête l'enregistrement. Retourne dans l'éditeur : Excel a traduit tes clics en code.
Sub Macro1()
Range("A1").Font.Bold = True
Range("A1").Interior.Color = vbYellow
End Sub
L'enregistreur est un professeur formidable : tu fais l'action, tu lis le code qu'elle produit, tu apprends le vocabulaire. Pour t'entraîner pas à pas sur cette méthode, suis le tuto créer une macro Excel pour débuter (sans coder).
Étape 3 : lire le code (objets, propriétés, méthodes)
Le VBA repose sur une logique simple : tu agis sur des objets (une cellule, une feuille, un classeur), en modifiant leurs propriétés ou en appelant leurs méthodes. La syntaxe se lit de gauche à droite, séparée par des points.
Range("A1").Value = "Total" ' on change une PROPRIÉTÉ (la valeur)
Range("A1").Font.Bold = True ' une propriété imbriquée (le gras)
Range("A1:A10").ClearContents ' on appelle une MÉTHODE (vider)
Une propriété, c'est une caractéristique que tu lis ou modifies (la valeur, la couleur, le gras). Une méthode, c'est une action que l'objet sait faire (vider, copier, supprimer). Une fois que tu vois le monde d'Excel comme des objets avec des propriétés et des méthodes, tout le reste devient logique.
Étape 4 : les variables
Une variable est une boîte étiquetée qui garde une information pour la réutiliser. On la déclare avec Dim, en précisant son type : du texte (String), un nombre entier (Integer), un nombre à décimales (Double).
Sub Bonjour()
Dim prenom As String
Dim age As Integer
prenom = Range("A1").Value
age = Range("A2").Value
MsgBox prenom & " a " & age & " ans"
End Sub
Étape 5 : manipuler cellules et plages
Deux façons de désigner une cellule : Range (par son adresse) et Cells (par ses numéros de ligne et colonne). Cells est parfait dans les boucles, car les numéros sont faciles à faire varier.
Range("B2").Value = 100
Cells(2, 3).Value = "OK" ' ligne 2, colonne 3 = C2
Range("A1").Offset(1, 0).Value = "juste en dessous"
Étape 6 : les conditions
Une condition permet à ton code de réagir selon les cas. La structure If est la plus courante.
If Range("A1").Value > 100 Then
Range("B1").Value = "Élevé"
ElseIf Range("A1").Value > 50 Then
Range("B1").Value = "Moyen"
Else
Range("B1").Value = "Faible"
End If
Quand tu dois tester une même valeur contre beaucoup de cas, Select Case est plus lisible qu'une longue chaîne de ElseIf.
Étape 7 : les boucles
La boucle est le vrai super-pouvoir du VBA : elle répète une action des centaines de fois sans effort. La boucle For répète un nombre connu de fois.
Dim i As Integer
For i = 1 To 10
Cells(i, 1).Value = i * 2 ' remplit A1 à A10
Next i
La boucle For Each parcourt directement un ensemble d'objets, par exemple toutes les cellules d'une plage, sans avoir à compter.
Dim cel As Range
For Each cel In Range("A1:A10")
cel.Value = cel.Value * 1.2 ' +20% sur chaque cellule
Next cel
Étape 8 : procédures et fonctions
Jusqu'ici tu écris des Sub (des procédures qui agissent). Le VBA permet aussi de créer tes propres Function, des fonctions qui renvoient un résultat et que tu peux utiliser dans une cellule, exactement comme SOMME ou RECHERCHEX.
Function TVA(montantHT As Double) As Double
TVA = montantHT * 0.2
End Function
Une fois cette fonction dans un module, tape =TVA(A1) dans une cellule : tu viens d'ajouter ta propre formule à Excel. C'est là que le VBA devient réellement puissant.
Étape 9 : gérer les erreurs
Un code qui plante à la moindre imprévu fait fuir les utilisateurs. La gestion d'erreur permet de reprendre la main proprement quand quelque chose se passe mal.
Sub DivisionSure()
On Error GoTo Probleme
MsgBox 100 / Range("A1").Value
Exit Sub
Probleme:
MsgBox "Erreur : " & Err.Description
End Sub
La ligne On Error GoTo renvoie vers une étiquette dédiée dès qu'un problème survient, au lieu de laisser Excel afficher un message d'erreur brutal.
Étape 10 : les UserForms
Le UserForm est l'aboutissement : une vraie fenêtre, avec des champs de saisie et des boutons, que tu conçois toi-même. C'est ce qui transforme un fichier Excel en application. Depuis l'éditeur, fais Insertion, UserForm, puis dépose des contrôles (une zone de texte, un bouton) depuis la boîte à outils.
Chaque contrôle réagit à des événements. Le code ci-dessous s'exécute quand on clique sur le bouton de validation : il recopie le contenu du champ dans la feuille, puis ferme la fenêtre.
Private Sub btnValider_Click()
Range("A1").Value = txtNom.Value
Unload Me
End Sub
Avec les UserForms, tu offres à tes collègues une interface claire : ils remplissent des cases, cliquent sur un bouton, et ton code fait le reste. Plus personne ne touche directement aux formules.
Combien de temps pour apprendre le VBA
Les bases, celles qui couvrent 80% de tes besoins (macros, variables, boucles, conditions), s'acquièrent en quelques heures de pratique guidée. L'autonomie réelle, celle où tu écris un outil sans modèle sous les yeux, vient après quelques semaines à coder un peu chaque jour sur tes propres fichiers. La clé n'est pas de tout retenir, mais de pratiquer sur des cas concrets qui te servent vraiment.
Aller plus loin
Tu as maintenant la carte complète du territoire VBA. La suite, c'est la pratique. Commence par enregistrer tes premières macros pour te familiariser avec le code, puis découvre comment écrire du VBA avec l'IA pour aller beaucoup plus vite tout en gardant le contrôle. Et si tu veux un parcours structuré, du premier code jusqu'aux applications complètes, avec un formateur et des exercices corrigés, la formation La magie du VBA te prend par la main de zéro à autonome.
Questions fréquentes
C'est quoi le VBA dans Excel ?
Le VBA (Visual Basic for Applications) est le langage de programmation intégré à Excel. Il permet d'automatiser des tâches répétitives, de créer des fonctions sur mesure et de construire des outils avec interface (UserForms). C'est ce langage qui se cache derrière les macros.
Faut-il savoir coder pour apprendre le VBA ?
Non. On commence en enregistrant des macros, ce qui génère du code automatiquement, puis on apprend à le lire et à le modifier. Aucune base en programmation n'est nécessaire : il suffit de connaître les manipulations Excel de base et de pratiquer sur ses propres fichiers.
Combien de temps faut-il pour apprendre le VBA Excel ?
Les bases utiles au quotidien (macros, variables, boucles, conditions) s'acquièrent en quelques heures de pratique guidée. L'autonomie réelle, celle où l'on écrit un outil de zéro, vient après quelques semaines à coder un peu chaque jour sur des cas concrets.
Quelle est la différence entre une macro et le VBA ?
Une macro est une suite d'actions automatisées ; le VBA est le langage dans lequel cette macro est écrite. Enregistrer une macro produit automatiquement du code VBA, que l'on peut ensuite lire, corriger et améliorer. Le VBA est donc le moteur, la macro le résultat.
Le VBA fonctionne-t-il sur Excel pour Mac ?
Oui, l'éditeur VBA et les macros existent sur Excel pour Mac (Alt + F11 ou Option + F11). Quelques différences subsistent, notamment sur les contrôles ActiveX et certaines boîtes de dialogue, mais l'essentiel du langage (variables, boucles, Range, fonctions) fonctionne de la même façon.
Le VBA est-il encore utile en 2026 avec l'IA ?
Oui, plus que jamais de façon pratique. Le VBA est installé partout et pilote Excel sans configuration. L'IA aide à écrire du code VBA beaucoup plus vite, mais il faut savoir le lire et le corriger pour l'utiliser sans risque. Apprendre le VBA reste le meilleur moyen d'automatiser Excel en autonomie.