VBA & Macros

Automatisez vos tâches : Comment créer une macro sur Excel ?

14 janvier 2026 7 vues

Excel est un outil puissant, mais certaines tâches peuvent être répétitives et chronophages. Heureusement, les macros viennent à la rescousse ! Une macro est une série d'instructions que vous pouvez enregistrer et exécuter pour automatiser une séquence d'actions. Dans cet article, nous allons explorer en détail comment créer une macro sur Excel, même si vous n'avez aucune connaissance préalable en programmation. Préparez-vous à gagner en efficacité et à simplifier votre travail avec Excel.

Qu'est-ce qu'une macro sur Excel ?

Une macro sur Excel est une séquence de commandes et d'instructions écrites en Visual Basic for Applications (VBA) qui permettent d'automatiser des tâches répétitives. Imaginez que vous devez formater un rapport Excel tous les jours : au lieu de le faire manuellement, vous pouvez enregistrer une macro qui effectue toutes les étapes à votre place en un seul clic.

Pourquoi utiliser les macros ?

Les macros offrent de nombreux avantages :

  • Gain de temps : Automatisez les tâches répétitives et gagnez un temps précieux.
  • Réduction des erreurs : Diminuez le risque d'erreurs humaines en automatisant les processus.
  • Standardisation : Assurez-vous que les tâches sont effectuées de manière cohérente à chaque fois.
  • Amélioration de la productivité : Concentrez-vous sur les tâches plus importantes et stratégiques.

Activer l'onglet Développeur

Avant de pouvoir créer des macros, vous devez activer l'onglet Développeur dans Excel. Cet onglet vous donne accès aux outils nécessaires pour enregistrer, modifier et exécuter des macros.

Étapes pour activer l'onglet Développeur :

  1. Cliquez sur l'onglet Fichier.
  2. Cliquez sur Options.
  3. Dans la boîte de dialogue Options Excel, cliquez sur Personnaliser le Ruban.
  4. Dans la liste de droite, cochez la case Développeur.
  5. Cliquez sur OK.

L'onglet Développeur apparaît désormais dans le ruban Excel.

Enregistrer une macro simple

La façon la plus simple de créer une macro est de l'enregistrer. Excel enregistre les actions que vous effectuez et les transforme en code VBA. Voici comment faire :

Étapes pour enregistrer une macro :

  1. Ouvrez une feuille Excel vierge.
  2. Cliquez sur l'onglet Développeur.
  3. Cliquez sur Enregistrer une macro.
  4. Dans la boîte de dialogue Enregistrer une macro :
    • Donnez un nom à votre macro (par exemple, "MiseEnFormeTitre"). Les noms de macros ne peuvent pas contenir d'espaces.
    • Attribuez un raccourci clavier (par exemple, Ctrl+Maj+T). Évitez les raccourcis clavier déjà utilisés par Excel.
    • Choisissez où enregistrer la macro (généralement, "Ce classeur").
    • Ajoutez une description (facultatif).
  5. Cliquez sur OK.
  6. Effectuez les actions que vous souhaitez enregistrer. Par exemple, sélectionnez la cellule A1, tapez un titre (par exemple, "Rapport des ventes"), mettez le texte en gras, changez la taille de la police et ajoutez une couleur de fond.
  7. Cliquez sur l'onglet Développeur.
  8. Cliquez sur Arrêter l'enregistrement.

Votre macro est maintenant enregistrée !

Exécuter la macro enregistrée

Pour exécuter la macro que vous venez d'enregistrer, vous pouvez utiliser le raccourci clavier que vous avez attribué (Ctrl+Maj+T dans notre exemple) ou suivre ces étapes :

  1. Cliquez sur l'onglet Développeur.
  2. Cliquez sur Macros.
  3. Sélectionnez la macro que vous souhaitez exécuter (par exemple, "MiseEnFormeTitre").
  4. Cliquez sur Exécuter.

Le titre que vous avez formaté lors de l'enregistrement de la macro apparaît dans la cellule A1.

Comprendre le code VBA d'une macro

Lorsque vous enregistrez une macro, Excel génère automatiquement du code VBA. Pour voir le code VBA de votre macro, suivez ces étapes :

  1. Cliquez sur l'onglet Développeur.
  2. Cliquez sur Visual Basic (ou appuyez sur Alt+F11).
  3. Dans l'éditeur Visual Basic, dans la fenêtre Explorateur de projets (si elle n'est pas visible, allez dans Affichage -> Explorateur de projets), double-cliquez sur le module contenant votre macro (généralement Module1).

Vous verrez le code VBA de votre macro. Par exemple, le code pour la macro "MiseEnFormeTitre" pourrait ressembler à ceci :

Sub MiseEnFormeTitre()
' 
' MiseEnFormeTitre Macro
' Raccourci clavier: Ctrl+Maj+T
'
    Range("A1").Select
    ActiveCell.FormulaR1C1 = "Rapport des ventes"
    With Selection.Font
        .Bold = True
        .Size = 14
    End With
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 65535
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
End Sub

Analyse du code VBA

  • Sub MiseEnFormeTitre() : Début de la macro, avec le nom de la macro.
  • Range("A1").Select : Sélectionne la cellule A1.
  • ActiveCell.FormulaR1C1 = "Rapport des ventes" : Écrit le texte "Rapport des ventes" dans la cellule sélectionnée.
  • With Selection.Font : Modifie les propriétés de la police de la cellule sélectionnée.
    • .Bold = True : Met le texte en gras.
    • .Size = 14 : Change la taille de la police à 14.
  • With Selection.Interior : Modifie les propriétés de l'arrière-plan de la cellule sélectionnée.
    • .Color = 65535 : Définit la couleur de l'arrière-plan (jaune).
  • End Sub : Fin de la macro.

Modifier une macro

Vous pouvez modifier le code VBA d'une macro pour l'adapter à vos besoins. Par exemple, vous pouvez changer le texte du titre, la taille de la police ou la couleur de l'arrière-plan.

Étapes pour modifier une macro :

  1. Ouvrez l'éditeur Visual Basic (Alt+F11).
  2. Dans l'Explorateur de projets, double-cliquez sur le module contenant votre macro.
  3. Modifiez le code VBA.
  4. Fermez l'éditeur Visual Basic.

Par exemple, pour changer la couleur de l'arrière-plan en vert, vous pouvez modifier la ligne .Color = 65535 en .Color = 5296274.

Exemples de macros utiles

Voici quelques exemples de macros que vous pouvez créer pour automatiser des tâches courantes dans Excel :

Macro pour formater un tableau

Cette macro formate un tableau en ajoutant des bordures, en mettant les en-têtes en gras et en ajustant la largeur des colonnes.

Sub FormaterTableau()
    ' Sélectionner le tableau
    Range("A1").CurrentRegion.Select
    ' Ajouter des bordures
    Selection.Borders.LineStyle = xlContinuous
    ' Mettre les en-têtes en gras
    Range("A1", Range("A1").End(xlToRight)).Font.Bold = True
    ' Ajuster la largeur des colonnes
    Columns.AutoFit
End Sub

Macro pour supprimer les lignes vides

Cette macro supprime toutes les lignes vides d'une feuille de calcul.

Sub SupprimerLignesVides()
    Dim i As Long
    For i = Rows.Count To 1 Step -1
        If Application.WorksheetFunction.CountA(Rows(i)) = 0 Then
            Rows(i).Delete
        End If
    Next i
End Sub

Macro pour insérer la date et l'heure

Cette macro insère la date et l'heure actuelles dans la cellule sélectionnée.

Sub InsererDateHeure()
    ActiveCell.Value = Now()
    ActiveCell.NumberFormat = "dd/mm/yyyy hh:mm:ss"
End Sub

Conseils et bonnes pratiques

  • Utilisez des noms de macros descriptifs : Choisissez des noms qui indiquent clairement ce que fait la macro.
  • Ajoutez des commentaires : Expliquez le code VBA pour faciliter la compréhension et la maintenance.
  • Testez vos macros : Assurez-vous que vos macros fonctionnent correctement avant de les utiliser dans des documents importants.
  • Sauvegardez vos classeurs au format .xlsm : Les classeurs contenant des macros doivent être sauvegardés au format Excel Macro-Enabled Workbook (.xlsm).
  • Soyez prudent avec les macros provenant de sources inconnues : Les macros peuvent contenir du code malveillant. Ne les exécutez que si vous êtes sûr de leur provenance.

Erreurs courantes et comment les éviter

  • Erreur de syntaxe : Vérifiez attentivement le code VBA pour détecter les erreurs de frappe ou de syntaxe.
  • Erreur d'exécution : Ces erreurs se produisent lors de l'exécution de la macro. Utilisez le débogueur VBA pour identifier la cause de l'erreur.
  • Erreur de référence : Assurez-vous que toutes les références aux objets Excel (feuilles, cellules, etc.) sont correctes.

En utilisant les macros sur Excel, vous pouvez considérablement améliorer votre productivité et simplifier votre travail. N'hésitez pas à expérimenter et à créer vos propres macros pour automatiser les tâches qui vous prennent le plus de temps. La maîtrise des macros est un atout précieux pour tout utilisateur d'Excel.

Questions fréquentes

Comment puis-je partager un fichier Excel contenant une macro ?

Vous devez enregistrer le fichier au format .xlsm (Excel Macro-Enabled Workbook). Lorsque vous partagez le fichier, assurez-vous d'informer le destinataire qu'il contient des macros et qu'il doit les activer s'il fait confiance à la source.

Les macros fonctionnent-elles sur toutes les versions d'Excel ?

Les macros créées avec VBA sont généralement compatibles avec les versions d'Excel à partir d'Excel 97. Cependant, certaines fonctionnalités peuvent ne pas être disponibles sur les versions plus anciennes.

Comment puis-je protéger mes macros avec un mot de passe ?

Dans l'éditeur Visual Basic (Alt+F11), allez dans Outils -> Propriétés de VBAProject. Dans l'onglet Protection, cochez la case "Verrouiller le projet pour l'affichage" et entrez un mot de passe. N'oubliez pas ce mot de passe, car vous en aurez besoin pour modifier la macro ultérieurement.

Mots-clés associés :

vba excel automatisation excel programmation excel macro excel exemple enregistrer macro excel

Partager cet article :