VBA & Macros

Comment faire une macro Excel pour automatiser vos tâches ?

15 janvier 2026 15 vues

Excel est un outil puissant, mais certaines tâches répétitives peuvent vite devenir fastidieuses. Heureusement, les macros Excel, basées sur le langage VBA (Visual Basic for Applications), offrent une solution élégante pour automatiser ces opérations. Vous n'avez pas besoin d'être un expert en programmation pour créer des macros utiles. Cet article vous guide pas à pas dans la création de votre première macro, vous permettant ainsi de gagner du temps et d'améliorer votre efficacité.

Qu'est-ce qu'une macro Excel et pourquoi en créer une ?

Une macro Excel est une série d'instructions écrites en VBA (Visual Basic for Applications) qui permettent d'automatiser des tâches répétitives. Imaginez devoir formater un tableau de données de la même manière chaque semaine. Au lieu de répéter ces étapes manuellement, vous pouvez enregistrer une macro qui les exécute automatiquement en un seul clic.

Les avantages des macros Excel :

  • Gain de temps : Automatisez les tâches répétitives et gagnez un temps précieux.
  • Réduction des erreurs : Évitez les erreurs humaines en automatisant les processus.
  • Uniformisation des données : Assurez une mise en forme cohérente de vos feuilles de calcul.
  • Personnalisation d'Excel : Adaptez Excel à vos besoins spécifiques en créant des fonctions personnalisées.

Activer l'onglet Développeur

Avant de pouvoir créer une macro, vous devez activer l'onglet "Développeur" dans le ruban Excel. Cet onglet donne accès aux outils nécessaires pour travailler avec VBA.

É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" devrait maintenant apparaître dans le ruban Excel.

Méthode 1 : Enregistrer une macro (sans programmation VBA)

La manière la plus simple de créer une macro est d'utiliser l'enregistreur de macros d'Excel. Cette méthode ne nécessite aucune connaissance en programmation VBA. Excel enregistre simplement les actions que vous effectuez et les transforme en code VBA.

Étapes pour enregistrer une macro :

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

    Description de la capture d'écran : L'onglet Développeur est sélectionné. Le bouton "Enregistrer une macro" est entouré d'un rectangle rouge.

  3. Dans la boîte de dialogue "Enregistrer une macro", donnez un nom à votre macro (par exemple, "FormatageTableau").

    Description de la capture d'écran : La boîte de dialogue "Enregistrer une macro" est affichée. Les champs "Nom de la macro", "Touche de raccourci" et "Description" sont visibles.

  4. Attribuez éventuellement un raccourci clavier à votre macro (par exemple, Ctrl+Maj+F). Soyez prudent et choisissez un raccourci qui n'est pas déjà utilisé par Excel.

  5. Choisissez où enregistrer la macro (dans ce classeur, dans un nouveau classeur ou dans le classeur de macros personnelles).
  6. Ajoutez une description de votre macro (par exemple, "Cette macro formate un tableau avec des couleurs et des bordures prédéfinies").
  7. Cliquez sur "OK".
  8. Effectuez les actions que vous souhaitez automatiser (par exemple, sélectionnez une plage de cellules, appliquez un format de nombre, ajoutez des bordures, modifiez la couleur de fond, etc.).
  9. Cliquez sur l'onglet "Développeur".
  10. Cliquez sur "Arrêter l'enregistrement".

Votre macro est maintenant enregistrée. Pour l'exécuter, vous pouvez utiliser le raccourci clavier que vous avez défini ou cliquer sur "Macros" dans l'onglet "Développeur", sélectionner votre macro et cliquer sur "Exécuter".

Exemple concret : Formater un tableau de données

Supposons que vous souhaitiez automatiser le formatage d'un tableau de données avec les étapes suivantes :

  1. Mettre le texte en gras.
  2. Ajouter des bordures.
  3. Colorer la première ligne en gris.

Voici les étapes à suivre pour enregistrer une macro qui effectue ces opérations :

  1. Suivez les étapes décrites ci-dessus pour démarrer l'enregistrement de la macro. Nommez-la "FormaterTableauGris".
  2. Sélectionnez la plage de cellules à formater.
  3. Cliquez sur l'onglet "Accueil".
  4. Cliquez sur le bouton "Gras".
  5. Cliquez sur le bouton "Bordures" et sélectionnez "Toutes les bordures".
  6. Sélectionnez la première ligne du tableau.
  7. Cliquez sur le bouton "Couleur de remplissage" et choisissez une couleur grise.
  8. Cliquez sur l'onglet "Développeur".
  9. Cliquez sur "Arrêter l'enregistrement".

Maintenant, chaque fois que vous exécuterez la macro "FormaterTableauGris", elle appliquera automatiquement ces formats à la plage de cellules sélectionnée.

Méthode 2 : Écrire du code VBA directement

Pour des macros plus complexes ou pour personnaliser davantage le comportement de vos macros, vous pouvez écrire du code VBA directement dans l'éditeur VBA d'Excel.

Ouvrir l'éditeur VBA

  1. Cliquez sur l'onglet "Développeur".
  2. Cliquez sur "Visual Basic".

L'éditeur VBA s'ouvre dans une nouvelle fenêtre.

Insérer un module

  1. Dans l'éditeur VBA, cliquez sur "Insertion" > "Module".

Un nouveau module est inséré dans votre projet VBA. C'est dans ce module que vous allez écrire votre code VBA.

Écrire le code VBA

Le code VBA d'une macro est structuré de la manière suivante :

Sub NomDeLaMacro()
    ' Instructions VBA
End Sub
  • Sub NomDeLaMacro() : Déclare le début de la macro et lui donne un nom.
  • ' Instructions VBA : Commentez votre code pour le rendre plus lisible. Les commentaires sont ignorés par Excel.
  • End Sub : Marque la fin de la macro.

Exemple concret : Afficher une boîte de dialogue

Voici un exemple simple de code VBA qui affiche une boîte de dialogue avec un message :

Sub AfficherMessage()
    MsgBox "Bonjour le monde !"
End Sub

Pour exécuter cette macro, vous pouvez :

  1. Retourner dans Excel.
  2. Cliquer sur l'onglet "Développeur".
  3. Cliquer sur "Macros".
  4. Sélectionner la macro "AfficherMessage".
  5. Cliquer sur "Exécuter".

Une boîte de dialogue s'affichera avec le message "Bonjour le monde !".

Exemple concret : Additionner deux cellules

Voici un exemple de code VBA qui additionne le contenu de deux cellules (A1 et B1) et affiche le résultat dans une troisième cellule (C1) :

Sub AdditionnerCellules()
    Dim nombre1 As Double
    Dim nombre2 As Double
    Dim resultat As Double

    nombre1 = Range("A1").Value
    nombre2 = Range("B1").Value

    resultat = nombre1 + nombre2

    Range("C1").Value = resultat
End Sub

Explication du code :

  • Dim nombre1 As Double : Déclare une variable nommée nombre1 de type Double (nombre décimal).
  • Range("A1").Value : Accède à la valeur de la cellule A1.
  • resultat = nombre1 + nombre2 : Additionne les deux nombres et stocke le résultat dans la variable resultat.
  • Range("C1").Value = resultat : Affecte la valeur de la variable resultat à la cellule C1.

Sécurité des macros

Les macros peuvent contenir du code malveillant. Il est donc important de ne pas exécuter des macros provenant de sources non fiables. Excel dispose de paramètres de sécurité pour contrôler l'exécution des macros.

Paramètres de sécurité des macros

  1. Cliquez sur l'onglet "Fichier".
  2. Cliquez sur "Options".
  3. Dans la boîte de dialogue "Options Excel", cliquez sur "Centre de gestion de la confidentialité".
  4. Cliquez sur "Paramètres du Centre de gestion de la confidentialité...".
  5. Cliquez sur "Paramètres des macros".

Vous pouvez choisir parmi les options suivantes :

  • Désactiver toutes les macros sans notification : Les macros sont désactivées et vous ne recevez aucun avertissement.
  • Désactiver toutes les macros avec notification : Les macros sont désactivées, mais vous recevez un avertissement et vous pouvez choisir de les activer.
  • Désactiver toutes les macros à l'exception des macros signées numériquement : Seules les macros signées par un éditeur de confiance sont exécutées.
  • Activer toutes les macros (non recommandé) : Toutes les macros sont exécutées sans avertissement. Cette option est la moins sécurisée.

Il est recommandé de choisir l'option "Désactiver toutes les macros avec notification" pour être averti avant d'exécuter une macro et ainsi éviter d'exécuter du code malveillant.

Erreurs courantes et comment les éviter

  • Erreur de syntaxe dans le code VBA : Vérifiez attentivement votre code VBA pour vous assurer qu'il ne contient pas d'erreurs de syntaxe (par exemple, des parenthèses manquantes, des noms de variables incorrects, etc.).
  • Tentative d'accès à une cellule inexistante : Assurez-vous que les cellules auxquelles vous accédez dans votre code VBA existent bien dans votre feuille de calcul.
  • Erreur de type de données : Assurez-vous que les variables que vous utilisez dans votre code VBA sont du type de données approprié (par exemple, utilisez Double pour les nombres décimaux, String pour le texte, etc.).
  • Macros désactivées : Vérifiez que les macros sont activées dans les paramètres de sécurité d'Excel.

Ressources supplémentaires

  • Documentation Microsoft Excel VBA : https://learn.microsoft.com/fr-fr/office/vba/excel
  • Tutoriels VBA sur YouTube : Recherchez "tutoriel VBA Excel" sur YouTube.
  • Forums d'aide Excel : Participez à des forums d'aide Excel pour poser vos questions et obtenir de l'aide de la communauté.

Questions fréquentes

Est-ce difficile d'apprendre à créer des macros Excel ?

Non, il est possible de créer des macros simples sans aucune connaissance en programmation grâce à l'enregistreur de macros. Pour des macros plus complexes, des bases en VBA sont utiles, mais de nombreuses ressources en ligne peuvent vous aider à apprendre.

Où sont stockées les macros Excel ?

Les macros peuvent être stockées dans le classeur Excel lui-même, dans un nouveau classeur ou dans le classeur de macros personnelles (Personal.xlsb). Le classeur de macros personnelles permet de rendre les macros disponibles pour tous vos classeurs Excel.

Comment modifier une macro existante ?

Pour modifier une macro existante, ouvrez l'éditeur VBA (Développeur > Visual Basic), localisez le module contenant la macro que vous souhaitez modifier, et modifiez le code VBA. Vous pouvez également supprimer la macro existante et en enregistrer une nouvelle.

Puis-je partager une macro avec d'autres utilisateurs ?

Oui, vous pouvez partager un classeur Excel contenant des macros avec d'autres utilisateurs. Assurez-vous que les paramètres de sécurité des macros de l'utilisateur sont configurés pour permettre l'exécution des macros. Vous pouvez également exporter le code VBA et l'importer dans un autre classeur.

Quels sont les alternatives aux macros Excel ?

Power Query et Power Automate Desktop sont des alternatives aux macros Excel pour l'automatisation des tâches. Power Query est particulièrement utile pour l'importation et la transformation de données, tandis que Power Automate Desktop permet d'automatiser les interactions avec d'autres applications.

Mots-clés associés :

vba excel automatisation excel enregistrer macro excel visual basic excel tutoriel macro excel

Partager cet article :