Aller au contenu principal
FreelancesAvancé25 min

Ta première macro avec l'enregistreur sur Excel

Un exercice corrigé pour créer ta première macro avec l'enregistreur VBA, lire le code généré et l'exécuter, et s'entraîner sur le fichier Excel à télécharger.

L'enregistreur de macros renverse la logique habituelle d'apprentissage du VBA : tu cliques normalement dans Excel, et il traduit chaque action en code prêt à réutiliser. Pas besoin d'écrire une seule ligne pour commencer !

Dans cet exercice, tu vas activer l'onglet Développeur, enregistrer une macro de mise en forme sur une ligne d'en-tête et lire le code VBA qu'Excel a généré. Une fois ce réflexe acquis, tu pourras l'appliquer à n'importe quelle action répétitive : le principe reste toujours le même, quel que soit le classeur.

Le saviez-vous ?
L'enregistreur renverse la logique d'apprentissage du VBA : tu cliques normalement dans Excel et il traduit chaque action en code prêt à réutiliser, sans écrire une seule ligne. Enregistre une action, lis le code produit, et tu découvres sa syntaxe plus vite que dans n'importe quelle documentation.

Ce que tu vas construire

  • Activer l'onglet Développeur pour accéder aux outils VBA d'Excel.
  • Enregistrer une macro de mise en forme avec l'enregistreur intégré.
  • Lire et comprendre le code VBA généré automatiquement par Excel.
  • Exécuter une macro depuis l'onglet Développeur ou l'éditeur VBA.
  • Enregistrer le classeur au format .xlsm pour conserver la macro.

À connaître avant de commencer

  • Savoir où se trouve le ruban Excel.
  • Avoir un classeur ouvert pour s'entraîner (à enregistrer ensuite au format .xlsm pour conserver la macro).

Voici les données de départ de cet exercice. Copie-les ou télécharge le fichier Excel, puis entraîne-toi avant de regarder le corrigé.

ABC
1ProduitVentesRégion
2Clavier120Nord
3Souris90Sud
4Écran45Nord
5Casque60Est
6Webcam30Sud

Exercice guidé

Coche chaque étape au fur et à mesure. Tente-la dans ton fichier, puis déplie le corrigé.

Ta progression
0/4
1
Activer l'onglet DéveloppeurActive l'onglet Développeur dans les options du ruban Excel afin d'accéder aux outils de macros.
2
Enregistrer une macro de mise en formeEnregistre une macro nommée MiseEnForme qui met la ligne d'en-tête A1:C1 en gras, avec un fond foncé et un texte blanc, puis arrête l'enregistrement.
3
Lire le code généré (Alt+F11)Ouvre l'éditeur VBA avec Alt+F11 et lis le code que l'enregistreur a généré dans Module1.
4
Exécuter la macroExécute la macro depuis l'onglet Développeur ou depuis l'éditeur VBA, puis enregistre le classeur au format .xlsm pour conserver la macro.
Le conseil du pro
Le piège qui efface tout ton travail : un classeur .xlsx perd ses macros à la fermeture. Enregistre au format .xlsm (Classeur prenant en charge les macros) pour conserver ta macro MiseEnForme d'une session à l'autre.

Astuces pour aller plus loin

Nettoie le code de l'enregistreur

L'enregistreur génère souvent du code verbeux avec .Select et Selection. Tu peux simplifier : au lieu de Range("A1").Select puis Selection.Font.Bold = True, écris directement Range("A1").Font.Bold = True. Le résultat est identique, mais le code est plus court et plus lisible.

L'enregistreur est ton meilleur prof

Chaque fois que tu veux savoir comment écrire une action en VBA, enregistre-la dans Excel et lis le code produit. Cette technique couvre des dizaines de cas : tri, filtres, mises en forme conditionnelles, copier-coller spécial. C'est la manière la plus rapide de découvrir la syntaxe VBA sans chercher dans la documentation.

Pour aller plus loin sur les boucles VBA

Une fois ta première macro maîtrisée, la prochaine étape est d'apprendre à répéter une action sur plusieurs lignes avec une boucle. Tout est expliqué ici : https://blog.ledojo.club/loops-in-vba

3 exercices similaires à ta première macro avec l'enregistreur

01

Tableau de bord freelance

Créer un tableau de bord complet pour suivre ton chiffre d'affaires, tes charges et ta rentabilité mois par mois en tant que freelance.
Voir l'exercice

02

Suivi de trésorerie freelance

Construire un tableau de suivi de trésorerie pour anticiper tes mois creux et ne jamais te retrouver à découvert. Suivre encaissements, décaissements et solde prévisionnel semaine par semaine.
Voir l'exercice

03

Facturation automatisée

Créer un système de facturation semi-automatique dans Excel : saisir le client et les prestations, et la facture se génère avec numérotation, TVA et montant en lettres.
Voir l'exercice

Le modèle prêt à l'emploi

Le modèle Excel « TJM freelance »

Découvre notre calculateur de TJM pour fixer le tarif journalier juste selon tes charges et ton objectif de revenu

FAQ

Questions fréquentes

Va dans l'onglet Développeur et clique sur Enregistrer une macro. Donne un nom sans espace à la macro, puis effectue les actions à automatiser. Clique sur Arrêter l'enregistrement quand tu as terminé. Si l'onglet Développeur est absent, active-le dans Fichier > Options > Personnaliser le ruban.

Appuie sur Alt+F11 pour ouvrir l'éditeur VBA. Dans le panneau de gauche, déplie le dossier Modules puis double-clique sur Module1. Le code de toutes les macros enregistrées dans ce classeur apparaît dans la fenêtre principale.

Depuis l'onglet Développeur, clique sur Macros (ou Alt+F8), sélectionne la macro dans la liste et clique sur Exécuter. Tu peux aussi appuyer sur F5 depuis l'éditeur VBA quand le curseur se trouve à l'intérieur du Sub concerné.

Les macros VBA ne peuvent pas être sauvegardées dans un fichier .xlsx standard. Pour les conserver, enregistre ton classeur au format .xlsm (Fichier > Enregistrer sous, puis choisir « Classeur Excel prenant en charge les macros » dans le menu Type). Excel affiche un avertissement si tu tentes d'enregistrer au format .xlsx avec des macros.

L'enregistreur capture la grande majorité des actions : mises en forme, tris, filtres, formules, copier-coller. Il ne peut pas enregistrer les boucles conditionnelles ni les interactions avec des boîtes de dialogue personnalisées. Pour ces cas, il faut écrire le code VBA manuellement ou compléter ce que l'enregistreur a produit.