|

Macros Excel pour débutants : automatiser ses tâches facilement

Introduction : Pourquoi utiliser les macros ?

Si vous passez des heures à effectuer les mêmes opérations répétitives dans Excel — copier-coller des données, formater des tableaux, générer des rapports — les macros sont faites pour vous. Une macro est simplement une série d’instructions que vous enregistrez une fois et que vous pouvez rejouer à la demande, en un seul clic.

Excel intègre un langage de programmation appelé VBA (Visual Basic for Applications) qui permet d’automatiser pratiquement n’importe quelle action. Pas besoin d’être développeur : ce guide vous emmène pas à pas, depuis l’activation de l’outil jusqu’à l’écriture de vos premières macros personnalisées.

Bon à savoir Les macros peuvent vous faire économiser des heures de travail chaque semaine. Une tâche qui prend 20 minutes à la main peut être exécutée en quelques secondes grâce à une macro bien écrite.

1. Activer l’onglet Développeur

Par défaut, l’onglet Développeur n’est pas affiché dans Excel. C’est pourtant lui qui donne accès à l’éditeur VBA et à l’enregistreur de macros.

Procédure d’activation

  1. Ouvrez Excel et cliquez sur Fichier dans le menu principal.
  2. Sélectionnez Options en bas du panneau gauche.
  3. Dans la fenêtre qui s’ouvre, cliquez sur Personnaliser le ruban.
  4. Dans la liste de droite, cochez la case Développeur.
  5. Validez en cliquant sur OK.

L’onglet Développeur apparaît désormais dans le ruban. Vous y trouverez les boutons Enregistrer une macro, Visual Basic, et Macros.

Astuce Sous Mac, rendez-vous dans Excel > Préférences > Ruban et barre d’outils, puis cochez Développeur.

2. Enregistrer sa première macro

L’enregistreur de macros est l’outil idéal pour débuter. Il observe toutes vos actions dans Excel et les traduit automatiquement en code VBA, sans que vous ayez à écrire une seule ligne.

Exemple pratique : formater un tableau

Nous allons créer une macro qui met en forme un tableau de données : en-têtes en gras, fond coloré, bordures et ajustement automatique des colonnes.

Étapes à suivre

  • Cliquez sur l’onglet Développeur, puis sur Enregistrer une macro.
  • Donnez un nom à votre macro, par exemple FormatTableau (sans espaces ni caractères spéciaux).
  • Choisissez un raccourci clavier si vous le souhaitez, par exemple Ctrl+Shift+F.
  • Sélectionnez où stocker la macro : Ce classeur (pour ce fichier uniquement) ou Classeur de macros personnelles (disponible dans tous vos fichiers Excel).
  • Cliquez sur OK. L’enregistrement démarre.
  • Effectuez vos actions : sélectionnez vos en-têtes, mettez-les en gras, ajoutez une couleur de fond, ajustez la largeur des colonnes.
  • Cliquez sur Arrêter l’enregistrement dans l’onglet Développeur.

Votre macro est créée ! Chaque fois que vous cliquerez sur Macros > FormatTableau > Exécuter, ou que vous utiliserez le raccourci clavier, toutes ces actions se reproduiront instantanément.

Conseil important Avant d’enregistrer une macro, préparez mentalement chaque étape. Chaque clic, chaque sélection est enregistré : mieux vaut éviter les erreurs et les corrections pendant l’enregistrement.

3. Découvrir l’éditeur VBA

L’éditeur VBA (Visual Basic for Applications) est l’environnement dans lequel vous pouvez consulter, modifier et écrire du code. Pour y accéder, appuyez sur Alt + F11 (Windows) ou Option + F11 (Mac), ou cliquez sur Visual Basic dans l’onglet Développeur.

Structure de l’éditeur

  • Explorateur de projets : L’explorateur de projets (à gauche) liste tous les classeurs ouverts et leurs modules.
  • Fenêtre de code : La fenêtre de code (au centre) affiche et permet d’éditer le code VBA.
  • Fenêtre Exécution : La fenêtre Exécution (en bas) permet de tester des instructions à la volée.

Anatomie d’une macro VBA

Voici à quoi ressemble le code de la macro FormatTableau enregistrée précédemment :

Sub FormatTableau()     ‘ —– Sélectionner la ligne d’en-têtes —–     Range(« A1:E1 »).Select     ‘ Mettre les en-têtes en gras     Selection.Font.Bold = Vrai   ‘ Vrai = True en VBA français     ‘ Appliquer une couleur de fond verte     Selection.Interior.Color = RVB(34, 139, 34)  ‘ RVB = RGB en version française     ‘ Ajuster automatiquement la largeur des colonnes     Cellules.EntièreColonne.AjusterLargeur  ‘ Équivalent de Cells.EntireColumn.AutoFit Fin Sub   ‘ Fin de la macro (End Sub en anglais)

Chaque macro commence par Sub NomDeLaMacro() et se termine par End Sub (ou Fin Sub en VBA français). Les lignes précédées d’une apostrophe (‘) sont des commentaires : elles ne s’exécutent pas mais servent à expliquer le code.

VBA français vs anglais Excel propose VBA en version française sur les installations françaises. Les mots-clés principaux se traduisent ainsi : Sub → Sous-programme, End Sub → Fin Sub, If → Si, Then → Alors, Else → Sinon, For → Pour, Next → Suivant, True → Vrai, False → Faux, RGB → RVB, MsgBox → BoîteMsg.

4. Écrire ses propres macros

Une fois à l’aise avec l’enregistreur, il est temps de passer à l’écriture manuelle. Le code VBA est proche de l’anglais courant et s’apprend rapidement avec quelques bases.

Les variables

Une variable est une boîte dans laquelle on stocke une valeur pour l’utiliser plus tard.

Sous ExempleVariables()   ‘ Sub = Sous-programme en français     Dim prenom En Chaîne    ‘ As String → En Chaîne (texte)     Dim age En Entier       ‘ As Integer → En Entier (nombre entier)     Dim salaire En Décimal  ‘ As Double → En Décimal (nombre décimal)       prenom = « Marie »     age = 32     salaire = 2850.50       BoîteMsg « Bonjour  » & prenom & « , vous avez  » & age &  » ans. »     ‘ BoîteMsg = MsgBox en français → affiche une fenêtre de message Fin Sous   ‘ End Sub → Fin Sous en VBA français

Les conditions (If… Then)

Les conditions permettent d’exécuter du code uniquement si une certaine règle est vraie.

Sous VerifierNote()     Dim note En Entier     note = Plage(« B2 »).Valeur   ‘ Range(« B2 »).Value → Plage(« B2 »).Valeur       Si note >= 10 Alors         ‘ If … Then → Si … Alors         Plage(« C2 »).Valeur = « Admis »         Plage(« C2 »).Intérieur.Couleur = RVB(144, 238, 144)  ‘ RGB → RVB     Sinon                        ‘ Else → Sinon         Plage(« C2 »).Valeur = « Refusé »         Plage(« C2 »).Intérieur.Couleur = RVB(255, 99, 71)     Fin Si                       ‘ End If → Fin Si Fin Sous

Les boucles (For… Next)

Les boucles permettent de répéter une action un certain nombre de fois — idéal pour parcourir des lignes de données.

Sous ColorierLignesAlternees()     Dim i En Entier       Pour i = 2 À 100          ‘ For i = 2 To 100 → Pour i = 2 À 100         Si i Mod 2 = 0 Alors  ‘ Mod = Modulo (reste de la division)             Lignes(i).Intérieur.Couleur = RVB(240, 248, 255)         Sinon             Lignes(i).Intérieur.IndexCouleur = SansCouleur  ‘ xlNone → SansCouleur         Fin Si     Suivant i                  ‘ Next i → Suivant i Fin Sous
Astuce pratique La boucle Pour i = 2 À 100 parcourt les lignes 2 à 100. Vous pouvez remplacer 100 par une cellule dynamique comme Cellules(Lignes.Compteur, 1).Fin(VersLeHaut).Ligne pour s’adapter automatiquement à la longueur de vos données.

5. Macros pratiques pour le quotidien

Voici quelques exemples de macros prêtes à l’emploi qui répondent aux besoins les plus courants.

Macro 1 : Nettoyer les espaces inutiles

Sous NettoyerEspaces()     Dim cellule En Plage   ‘ As Range → En Plage     Pour Chaque cellule Dans Sélection  ‘ For Each … In Selection         Si cellule.Valeur <> «  » Alors             cellule.Valeur = Supprespace(cellule.Valeur)             ‘ Supprespace() = Trim() en français : supprime les espaces inutiles         Fin Si     Suivant cellule     BoîteMsg « Nettoyage terminé ! » Fin Sous

Macro 2 : Exporter chaque feuille en PDF

Sous ExporterFeuillesEnPDF()     Dim feuille En FeuilleCalc  ‘ As Worksheet → En FeuilleCalc     Dim chemin En Chaîne     chemin = « C:\Exports\ »       Pour Chaque feuille Dans CeClasseur.Feuilles  ‘ ThisWorkbook.Worksheets         feuille.ExporterFormatFixe _             Type:=TypePDF, _              ‘ xlTypePDF → TypePDF             NomFichier:=chemin & feuille.Nom & « .pdf »  ‘ Filename → NomFichier     Suivant feuille     BoîteMsg « Export terminé ! Fichiers dans  » & chemin Fin Sous

Macro 3 : Copier-coller uniquement les valeurs

Sous CollerValeursUniquement()     ‘ Copie la sélection actuelle     Sélection.Copier   ‘ Selection.Copy → Sélection.Copier     ‘ Colle uniquement les valeurs (sans formules ni formats)     Sélection.CollageSpécial Coller:=CollerValeurs     ‘ PasteSpecial Paste:=xlPasteValues → CollageSpécial Coller:=CollerValeurs     Application.ModeCouperCopier = Faux  ‘ CutCopyMode = False Fin Sous

6. Affecter une macro à un bouton

Pour rendre vos macros encore plus accessibles, vous pouvez les associer à un bouton directement dans votre feuille de calcul.

  1. Dans l’onglet Développeur, cliquez sur Insérer, puis choisissez Bouton (Contrôle de formulaire) dans la section Contrôles de formulaire.
  2. Dessinez le bouton sur votre feuille en maintenant le bouton gauche de la souris.
  3. Une fenêtre apparaît pour vous demander quelle macro affecter : choisissez celle de votre choix et cliquez sur OK.
  4. Faites un clic droit sur le bouton pour modifier son texte, par exemple : Formater le tableau.

Désormais, un simple clic sur le bouton exécute la macro. Vous pouvez personnaliser son apparence (couleur, police) via Clic droit > Format de contrôle.

Aller plus loin Vous pouvez également insérer un bouton dans la barre d’accès rapide (le petit ruban en haut à gauche). Dans les options Excel, allez dans Barre d’accès rapide, sélectionnez Macros dans la liste, puis ajoutez la vôtre.

7. Bonnes pratiques et sécurité

Activer les macros en toute sécurité

Par défaut, Excel désactive les macros pour protéger votre ordinateur. Lorsque vous ouvrez un fichier contenant des macros, une barre jaune apparaît en haut. Cliquez sur Activer le contenu uniquement si vous faites confiance à la source du fichier.

Conseils pour bien coder

  • Commentaires : Commentez votre code avec des apostrophes (‘) pour expliquer ce que fait chaque partie.
  • Nommage : Donnez des noms explicites à vos variables et macros. PremiereColonne vaut mieux que a.
  • Sauvegarde : Sauvegardez toujours votre fichier avant d’exécuter une macro que vous n’avez pas encore testée.
  • Gestion des erreurs : Utilisez En cas d’erreur Reprendre Suivant (On Error Resume Next) avec parcimonie : cette instruction masque les erreurs et peut compliquer le débogage.

Format de fichier

Un fichier Excel contenant des macros doit être sauvegardé au format .xlsm (Classeur Excel prenant en charge les macros). Si vous enregistrez en .xlsx, les macros seront supprimées. Excel vous avertira si vous essayez de le faire.

Conclusion

Vous disposez maintenant de toutes les bases pour automatiser vos tâches Excel avec les macros et VBA. L’enregistreur de macros vous permet de démarrer sans écrire une seule ligne de code, tandis que VBA vous offre une puissance et une flexibilité quasi illimitées.

La clé pour progresser rapidement : pratiquez sur vos propres fichiers. Identifiez une tâche répétitive que vous faites chaque semaine, enregistrez une macro, puis observez le code généré et essayez de le modifier. C’est ainsi, par l’expérimentation, que vous deviendrez à l’aise avec cet outil remarquable.

Prochaines étapes Explorez les fonctions Excel intégrées accessibles via VBA (VLOOKUP, SUMIF, etc.), apprenez à manipuler les tableaux croisés dynamiques par macro, et découvrez comment interagir avec d’autres applications Office comme Word ou Outlook directement depuis Excel.

Publications similaires