4.4 · Macros & programmation VBA

Niveau 4 · Expert : Power Query, modèle de données & VBA

4.4Macros & programmation VBA

Objectif : enregistrer des macros et écrire du VBA (variables, boucles, conditions) pour automatiser les tâches.
Temps estimé : 40 min

Quand une tâche se répète chaque semaine — mise en forme, tri, export — Excel peut la faire à votre place. L'enregistreur de macros capture vos gestes et les rejoue à l'identique ; le code généré est du VBA (Visual Basic for Applications), que vous pouvez ensuite lire et adapter dans l'éditeur (Alt + F11).

Vous découvrirez la structure d'une macro (Sub … End Sub), les variables, la boucle For et la condition If — le socle minimal pour automatiser utilement. À noter : Microsoft pousse désormais les scripts Office (TypeScript) pour le web, mais le VBA reste omniprésent en entreprise et incontournable sur les fichiers existants.

Vocabulaire de la section

Macro
Suite d'actions enregistrée puis rejouable (Affichage → Macros, ou onglet Développeur). Stockée en VBA.
VBA
Le langage de programmation intégré à Office. Éditeur : Alt + F11. Une macro = une procédure Sub … End Sub.
.xlsm
Format de classeur AVEC macros. Un .xlsx ne peut pas en contenir : Excel vous proposera de convertir à l'enregistrement.
Références relatives (enregistreur)
Option de l'enregistreur : les gestes sont enregistrés par rapport à la cellule active, pas en positions absolues.
Sécurité des macros
Les macros peuvent contenir du code malveillant : Excel les bloque par défaut sur les fichiers téléchargés — ne les activez que si la source est de confiance.
Vérifiez votre compréhension

Que renvoie =UNIQUE(A2:A100) dans Excel 365 ?

Macros & programmation VBA
Vidéo hébergée sur YouTube — ouvrir dans un nouvel onglet ↗
Tutos macros VBA Excel débutant (recherche ciblée)
Cliquer pour voir les résultats à jour ↗

En pratique — Votre première macro : mise en forme en un clic

  1. Onglet Affichage → Macros → Enregistrer une macro : nommez-la MiseEnFormeTitres, raccourci Ctrl+Maj+M.
  2. Pendant l'enregistrement : mettez la ligne 1 en gras, fond vert foncé, texte blanc, puis figez les volets (ligne 1). Arrêtez l'enregistrement.
  3. Ouvrez Alt + F11 : lisez le code généré dans Module1 — reconnaissez vos gestes ligne par ligne.
  4. Sur une autre feuille brute, tapez Ctrl+Maj+M : toute la mise en forme s'applique instantanément. Enregistrez en .xlsm.
Une tâche de 2 minutes réduite à un raccourci clavier — et votre premier contact avec le code VBA.

Points clés à retenir

  • L'enregistreur de macros écrit le code VBA à votre place : le meilleur moyen d'apprendre en lisant.
  • Un fichier avec macros s'enregistre en .xlsm — jamais en .xlsx.
  • Le trio de base du VBA : variables (Dim), boucles (For … Next), conditions (If … Then).
  • Prudence : n'activez jamais les macros d'un fichier dont vous ne connaissez pas la provenance.

Questions fréquentes

L'onglet Développeur n'apparaît pas, comment l'afficher ?

Fichier → Options → Personnaliser le ruban → cochez « Développeur » dans la colonne de droite. Il donne accès à l'éditeur, aux contrôles et aux options de macros.

Faut-il encore apprendre le VBA en 2026 ?

Pour maintenir l'existant en entreprise : oui, c'est partout. Pour du neuf : évaluez d'abord Power Query (nettoyage), les formules dynamiques et les scripts Office — le VBA reste roi pour l'automatisation locale poussée.

Autres ressources