Formules Excel

Comment faire une macro dans Excel et automatiser vos tâches ?

15 janvier 2026 8 vues

Excel est bien plus qu'un simple tableur. Ses fonctionnalités avancées, comme les macros, permettent d'automatiser des tâches complexes et répétitives. Vous en avez assez de refaire les mêmes manipulations à chaque fois que vous ouvrez un fichier ? Vous rêvez de simplifier vos flux de travail ? Apprendre à créer une macro dans Excel est la solution. Ce guide vous expliquera, pas à pas, comment enregistrer, modifier et utiliser des macros pour gagner en efficacité et libérer votre temps pour des tâches à plus forte valeur ajoutée. Préparez-vous à transformer votre façon de travailler avec Excel !

Comprendre les macros Excel : Introduction à l'automatisation

Une macro dans Excel est une série d'instructions qui sont enregistrées et peuvent être exécutées à la demande. Imaginez pouvoir automatiser la mise en forme de vos rapports, l'extraction de données spécifiques ou la création de graphiques en un seul clic. C'est le pouvoir des macros !

Pourquoi utiliser les macros ?

  • Gain de temps considérable : Automatisez les tâches répétitives et libérez du temps pour des activités plus importantes.
  • Réduction des erreurs : Minimisez les erreurs humaines en automatisant les processus.
  • Standardisation des procédures : Assurez-vous que les tâches sont effectuées de la même manière à chaque fois.
  • Personnalisation d'Excel : Adaptez Excel à vos besoins spécifiques.

Les bases du VBA (Visual Basic for Applications)

Les macros Excel sont écrites en VBA, un langage de programmation intégré à la suite Microsoft Office. Bien que vous puissiez enregistrer des macros sans connaître le VBA, comprendre les bases vous permettra de les modifier et de les personnaliser.

  • Le Visual Basic Editor (VBE) : C'est l'environnement où vous écrivez et modifiez le code VBA. Vous pouvez y accéder en appuyant sur Alt + F11 dans Excel.
  • Modules : Les modules sont des conteneurs pour le code VBA. Vous pouvez insérer des modules dans votre classeur Excel via le VBE (Insert > Module).
  • Subroutines (Subs) : Une subroutine est un bloc de code qui effectue une tâche spécifique. C'est l'unité de base d'une macro.
  • Fonctions : Similaires aux subroutines, mais elles renvoient une valeur.

Comment enregistrer une macro dans Excel : Le guide étape par étape

L'enregistrement d'une macro est la manière la plus simple de créer une macro sans avoir à écrire de code VBA. Excel enregistre chaque action que vous effectuez, la traduisant en code VBA.

Étape 1 : Activer l'onglet Développeur

Par défaut, l'onglet Développeur n'est pas visible dans le ruban Excel. Pour l'activer :

  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.

Étape 2 : Démarrer l'enregistrement

  1. Cliquez sur l'onglet Développeur.
  2. Cliquez sur Enregistrer une macro.

Étape 3 : Configurer les options de la macro

Une boîte de dialogue "Enregistrer la macro" s'ouvre. Remplissez les champs suivants :

  • Nom de la macro : Donnez un nom descriptif à votre macro (par exemple, "MiseEnFormeRapport"). Évitez les espaces et les caractères spéciaux.
  • Touche de raccourci : Attribuez un raccourci clavier pour exécuter la macro (par exemple, Ctrl + Shift + M). Attention à ne pas utiliser un raccourci déjà existant dans Excel.
  • Enregistrer la macro dans : Choisissez où enregistrer la macro :
    • Ce classeur : La macro est enregistrée uniquement dans le classeur actuel.
    • Nouveau classeur : Un nouveau classeur est créé pour enregistrer la macro.
    • Classeur de macros personnelles : La macro est disponible dans tous les classeurs Excel que vous ouvrez. C'est l'option recommandée pour les macros que vous utilisez fréquemment.
  • Description : Ajoutez une description de la macro. Cela vous aidera à vous souvenir de ce qu'elle fait.

Étape 4 : Effectuer les actions à enregistrer

Une fois que vous avez cliqué sur OK, Excel commence à enregistrer vos actions. Effectuez les étapes que vous souhaitez automatiser. Par exemple :

  1. Sélectionnez une plage de cellules.
  2. Modifiez la police, la taille et la couleur du texte.
  3. Appliquez des bordures.
  4. Ajoutez un filtre.

Important : Soyez précis et méthodique. Excel enregistre tout, y compris les clics inutiles. Si vous faites une erreur, corrigez-la, mais sachez qu'elle sera également enregistrée. Vous pourrez la supprimer plus tard dans le code VBA.

Étape 5 : Arrêter l'enregistrement

  1. Cliquez sur l'onglet Développeur.
  2. Cliquez sur Arrêter l'enregistrement.

Votre macro est maintenant enregistrée !

Comment exécuter une macro dans Excel

Il existe plusieurs façons d'exécuter une macro :

Via le raccourci clavier

Si vous avez attribué un raccourci clavier à votre macro, appuyez simplement sur les touches correspondantes (par exemple, Ctrl + Shift + M).

Via le bouton Macro

  1. Cliquez sur l'onglet Développeur.
  2. Cliquez sur Macros.
  3. Sélectionnez la macro que vous souhaitez exécuter dans la liste.
  4. Cliquez sur Exécuter.

En insérant un bouton dans la feuille de calcul

  1. Cliquez sur l'onglet Développeur.
  2. Dans le groupe Contrôles, cliquez sur Insérer et choisissez un contrôle de formulaire (par exemple, un bouton).
  3. Dessinez le bouton dans votre feuille de calcul.
  4. Une boîte de dialogue "Attribuer une macro" s'ouvre. Sélectionnez la macro que vous souhaitez attribuer au bouton.
  5. Cliquez sur OK.
  6. Vous pouvez modifier le texte du bouton en cliquant dessus avec le bouton droit de la souris et en sélectionnant Modifier le texte.

Modifier une macro dans Excel : Personnalisation et optimisation

L'enregistrement de macros est un excellent point de départ, mais la modification du code VBA vous permet de personnaliser et d'optimiser vos macros.

Accéder au Visual Basic Editor (VBE)

Appuyez sur Alt + F11 pour ouvrir le VBE.

Comprendre la structure du code VBA

Le code VBA d'une macro enregistrée ressemble à ceci :

Sub MiseEnFormeRapport()
' 
' MiseEnFormeRapport Macro
' Cette macro met en forme le rapport.
'

'Raccourci clavier: Ctrl+Shift+M
    Range("A1:C10").Select
    With Selection.Font
        .Name = "Arial"
        .Size = 12
        .Bold = True
    End With
    Selection.Borders.LineStyle = xlContinuous
End Sub
  • Sub MiseEnFormeRapport() : Déclare le début de la subroutine nommée "MiseEnFormeRapport".
  • ' MiseEnFormeRapport Macro : Un commentaire. Les commentaires sont précédés d'une apostrophe et sont ignorés par Excel.
  • Range("A1:C10").Select : Sélectionne la plage de cellules A1 à C10.
  • With Selection.Font : Débute un bloc With qui permet de modifier plusieurs propriétés de la police de la sélection.
  • .Name = "Arial" : Définit la police sur Arial.
  • .Size = 12 : Définit la taille de la police sur 12.
  • .Bold = True : Met la police en gras.
  • End With : Termine le bloc With.
  • Selection.Borders.LineStyle = xlContinuous : Ajoute des bordures continues à la sélection.
  • End Sub : Déclare la fin de la subroutine.

Exemples de modifications courantes

  • Modifier les plages de cellules : Remplacez Range("A1:C10") par la plage de cellules souhaitée.
  • Ajouter des commentaires : Ajoutez des commentaires pour expliquer le code et le rendre plus facile à comprendre.
  • Utiliser des variables : Les variables permettent de stocker des valeurs et de les utiliser dans le code. Par exemple :

    vba Dim nomFichier As String nomFichier = "Rapport_" & Format(Date, "yyyy-mm-dd") & ".xlsx" ActiveWorkbook.SaveAs Filename:=nomFichier

    Ce code crée une variable nomFichier qui contient le nom du fichier à enregistrer, en utilisant la date du jour. * Ajouter des boucles : Les boucles permettent de répéter une série d'instructions plusieurs fois. Par exemple, pour parcourir toutes les cellules d'une colonne :

    vba Dim i As Integer For i = 1 To 100 Cells(i, 1).Value = i Next i

    Ce code remplit les cellules A1 à A100 avec les nombres de 1 à 100. * Ajouter des conditions : Les conditions permettent d'exécuter différentes instructions en fonction de certaines conditions. Par exemple :

    vba Dim valeur As Integer valeur = Cells(1, 1).Value If valeur > 10 Then MsgBox "La valeur est supérieure à 10" Else MsgBox "La valeur est inférieure ou égale à 10" End If

    Ce code affiche un message en fonction de la valeur de la cellule A1.

Conseils et astuces pour créer des macros efficaces

  • Planifiez vos macros : Avant de commencer à enregistrer ou à écrire une macro, réfléchissez à ce que vous voulez qu'elle fasse. Écrivez les étapes à suivre et organisez votre code.
  • Utilisez des noms descriptifs : Donnez des noms clairs et descriptifs à vos macros, variables et objets.
  • Commentez votre code : Ajoutez des commentaires pour expliquer ce que fait chaque partie du code. Cela vous aidera à vous souvenir de ce que vous avez fait et facilitera la collaboration avec d'autres personnes.
  • Testez vos macros : Testez vos macros régulièrement pour vous assurer qu'elles fonctionnent correctement. Utilisez des données de test variées pour identifier les erreurs potentielles.
  • Gérez les erreurs : Ajoutez des instructions de gestion des erreurs pour éviter que vos macros ne s'arrêtent brutalement en cas de problème. Utilisez On Error Resume Next pour ignorer les erreurs et On Error GoTo pour gérer les erreurs de manière spécifique.
  • Optimisez votre code : Évitez de sélectionner des cellules inutiles. Utilisez des variables pour stocker des valeurs et éviter de les recalculer à chaque fois. Désactivez les mises à jour d'écran pendant l'exécution de la macro pour accélérer le processus (Application.ScreenUpdating = False).

Erreurs courantes à éviter lors de la création de macros

  • Utiliser des références absolues : Évitez d'utiliser des références absolues aux cellules (par exemple, A1) dans votre code. Utilisez plutôt des références relatives (par exemple, ActiveCell.Offset(1, 0)) ou des variables pour rendre votre macro plus flexible.
  • Ne pas gérer les erreurs : Ne pas gérer les erreurs peut entraîner l'arrêt brutal de votre macro et la perte de données. Ajoutez des instructions de gestion des erreurs pour éviter cela.
  • Créer des macros trop complexes : Divisez les macros complexes en plusieurs macros plus petites et plus faciles à gérer.
  • Ne pas sauvegarder le classeur au bon format : Si votre classeur contient des macros, vous devez l'enregistrer au format .xlsm (classeur Excel prenant en charge les macros).

Conclusion : Maîtriser les macros Excel pour une efficacité accrue

Apprendre à faire une macro dans Excel est un investissement qui rapporte gros. Que vous soyez débutant ou utilisateur avancé, les macros peuvent vous aider à automatiser vos tâches, à gagner du temps et à réduire les erreurs. En suivant ce guide, vous avez acquis les bases nécessaires pour enregistrer, modifier et exécuter des macros. N'hésitez pas à expérimenter, à explorer le code VBA et à personnaliser vos macros pour répondre à vos besoins spécifiques. Avec un peu de pratique, vous deviendrez un expert en automatisation Excel !

Questions fréquentes

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

Une macro dans Excel est une série d'instructions enregistrées qui peuvent être exécutées à la demande pour automatiser des tâches répétitives. Elle est écrite en VBA (Visual Basic for Applications), un langage de programmation intégré à Excel.

Comment puis-je activer l'onglet Développeur dans Excel ?

Pour activer l'onglet Développeur, allez dans Fichier > Options > Personnaliser le ruban et cochez la case Développeur dans la liste de droite. Cliquez ensuite sur OK.

Dans quel format dois-je enregistrer un classeur contenant des macros ?

Un classeur contenant des macros doit être enregistré au format .xlsm (classeur Excel prenant en charge les macros). Si vous l'enregistrez dans un autre format, les macros seront perdues.

Mots-clés associés :

vba excel automatisation excel visual basic excel macro excel exemple macro excel debutant

Partager cet article :