Comment activer les macros dans Excel
Maîtrisez l'activation des macros Excel (.xlsm) avec ce guide pas-à-pas. Découvrez la création, l'exécution sécurisée et les bonnes pratiques VBA. Automatisez !
Notre équipe de formation Excel & experte VBA avec 12 ans d'expérience, nous avons souvent observé que l'activation des macros dans Excel est une étape cruciale pour automatiser vos tâches répétitives. Les macros permettent de rationaliser des processus et d'améliorer la productivité lorsque leur utilisation est sécurisée et bien maîtrisée.
Ce guide explique comment activer les macros, les créer, les exécuter et les sécuriser. Les exemples incluent des extraits VBA corrigés, des bonnes pratiques de sécurité (signature, Trusted Locations, Protected View), et des solutions de dépannage courantes.
Introduction aux Macros dans Excel
Comprendre les Macros
Les macros sont des séquences d'instructions (scripts) qui automatisent des tâches répétitives dans Excel. Elles sont généralement écrites en Visual Basic for Applications (VBA) et peuvent aller de simples manipulations de cellules à des automatisations avancées (génération de rapports, import/export, envoi d'e-mails, etc.).
- Automatisation des tâches répétitives
- Personnalisation via VBA
- Gain de temps et réduction d'erreurs
Exemple simple : mise en forme d'un bloc de cellules.
Sub FormatReport()
Range("A1:B10").Font.Bold = True
Range("A1:B10").Interior.Color = RGB(255, 255, 0)
End Sub
Cette macro applique du gras et un fond jaune aux cellules A1:B10.
Pourquoi utiliser des Macros ?
Avantages pratiques
Les macros permettent de standardiser des processus, d'éviter des tâches manuelles répétitives et de garantir la cohérence de la production (formats, calculs, exports). Elles sont particulièrement utiles pour des rapports périodiques, la transformation de données et l'intégration avec d'autres applications via COM/Automation.
- Automatisation des processus
- Réduction des erreurs humaines
- Partage et réutilisation via fichiers .xlsm ou compléments (.xlam)
Vérification des paramètres de sécurité
Avant d'activer
Avant d'activer les macros, vérifiez les paramètres du Centre de gestion de la confidentialité (Trust Center). Par défaut, Excel bloque ou demande l'autorisation d'exécuter les macros pour limiter les risques.
Points à contrôler :
- Protected View : fichiers téléchargés ou reçus par email s'ouvrent en mode protégé. Conservez cette option activée par défaut.
- Paramètres de macros : choisir l'option la plus restrictive compatible avec votre usage (voir section Activation ci-dessous).
- Extension du fichier : utilisez
.xlsmpour les fichiers contenant des macros,.xlsbpour les classeurs binaires si nécessaire.
Procédure d'accès au Trust Center (rappel rapide) :
1. Ouvrez Excel
2. Fichier > Options
3. Centre de gestion de la confidentialité > Paramètres du Centre de gestion de la confidentialité
Activation des Macros (pas-à-pas)
Accéder aux paramètres
Pour activer ou ajuster le comportement des macros :
- Ouvrez Excel et cliquez sur Fichier.
- Sélectionnez Options.
- Dans la fenêtre Options Excel, choisissez Centre de gestion de la confidentialité.
- Cliquez sur Paramètres du Centre de gestion de la confidentialité puis sur Paramètres des macros.
Options de macros et recommandations
Les options principales sont :
- Désactiver toutes les macros — aucune macro n'est exécutée (plus sûr).
- Désactiver toutes les macros avec notification — Excel prévient et permet d'activer ponctuellement.
- Activer toutes les macros — exécute toutes les macros (risque élevé ; à éviter sauf environnement totalement contrôlé).
- Activer les macros signées — n'exécute que les macros signées par un éditeur de confiance (bon compromis).
Recommandation pratique : privilégiez Désactiver avec notification ou Activer les macros signées, et utilisez des Trusted Locations pour les fichiers automatisés en production.
Exécuter des macros et associer des boutons
Pour exécuter une macro :
- Affichez l'onglet Développeur (Fichier > Options > Personnaliser le ruban).
- Dans Développeur, cliquez sur Macros, sélectionnez la macro puis Exécuter.
Associer une macro à un bouton :
- Développeur > Insérer > Contrôle Formulaire > Bouton.
- Placez le bouton sur la feuille et assignez la macro souhaitée.
Important : sauvegardez le fichier au format .xlsm pour conserver les macros.
Création et gestion de Macros
Enregistrer une macro
Pour capturer une suite d'actions : Développeur > Enregistrer une macro > effectuez les actions > Arrêter l'enregistrement. Pour modifier le code : Développeur > Visual Basic (ALT+F11).
- Accéder à l'onglet Développeur via Fichier > Options > Personnaliser le ruban.
- Enregistrer, puis retoucher le code dans l'éditeur VBA pour optimiser et sécuriser.
Exemple d'une macro affichant un message (correctement formatée) :
Sub ExempleMacro()
MsgBox "Bonjour, bienvenue dans Excel!"
End Sub
Automation Outlook : exemple sûr
Exemple d'envoi d'e-mail via l'objet Outlook (utiliser avec Outlook installé et autorisations appropriées) :
Sub SendEmail()
Dim OutApp As Object
Dim OutMail As Object
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
With OutMail
.To = "example@example.com"
.Subject = "Rapport hebdomadaire"
.Body = "Veuillez trouver le rapport en pièce jointe."
' .Attachments.Add "C:\\chemin\\rapport.xlsx"
.Send
End With
Set OutMail = Nothing
Set OutApp = Nothing
End Sub
Remarque : automatisation Outlook déclenche parfois des avertissements de sécurité Outlook. Évitez d'utiliser des méthodes risquées et testez toujours sur un environnement non-productif.
Sécurité et risques des Macros
Risques spécifiques
Les macros peuvent contenir du code malveillant (exécution de commandes, modification ou exfiltration de données). Les vecteurs courants : pièces jointes d'e-mails, téléchargements non vérifiés et macros copiées depuis des sources non fiables.
Meilleures pratiques pour réduire les risques
- N'activez jamais les macros à l'échelle globale (évitez "Activer toutes les macros").
- Utilisez Protected View et n'ôtez la protection que pour les fichiers de confiance.
- Placez les fichiers automatisés en Trusted Locations (dossier contrôlé par l'équipe IT).
- Signez numériquement vos macros (certificate signing). Outil courant :
SelfCert.exepour créer un certificat auto-signé à des fins internes, puis signer le projet VBA via Outils > Propriétés de VBAProject > Signature. - Gérez les éditeurs de confiance (Trusted Publishers) : installez le certificat dans le magasin Windows si vous faites confiance à l'origine.
- Désactivez l'accès non nécessaire au modèle d'objet VBA : évitez de cocher "Trust access to the VBA project object model" sauf si indispensable.
- Mettez en place des sauvegardes régulières et contrôle de versions (ex : repository central pour modules .bas / .cls / .xlam).
- Analysez les fichiers avec un antivirus/EDR à jour avant d'autoriser les macros.
Détection et dépannage
Signes d'une macro malveillante :
- Comportement inattendu (fenêtres, modifications non sollicitées)
- Accès réseau ou tentatives d'écriture sur disque non prévues
- Exécutions répétées en arrière-plan
Actions recommandées :
- Ouvrir le fichier en mode protégé et inspecter le code VBA (ALT+F11).
- Rechercher appels externes (Shell, CreateObject, WinHttpRequest) dans le code.
- Exécuter l'analyse antivirus/EDR et restaurer à partir de sauvegardes si nécessaire.
Points Clés à Retenir
- Activez les macros uniquement quand la source est fiable et privilégiez Désactiver avec notification ou Activer les macros signées.
- Signez vos projets VBA et utilisez des Trusted Locations pour les processus en production.
- Sauvegardez et versionnez vos modules VBA ; testez toujours sur une copie.
- Optimisez les macros plutôt que d'augmenter les droits (meilleure sécurité et meilleures performances).
Questions Fréquentes
- Comment éviter les erreurs lors de l'exécution de macros ?
- Testez sur des copies, utilisez le mode Pas à Pas (F8) dans l'éditeur VBA, ajoutez des gestionnaires d'erreurs structurés (Ex : On Error GoTo ErrHandler) et validez les entrées utilisateur.
- Que faire si mes macros ne s'exécutent pas ?
- Vérifiez : paramètres du Centre de gestion de la confidentialité, extension du fichier (.xlsm), Trusted Locations, conflit avec compléments, et erreurs de code. Redémarrez Excel après modification des paramètres.
- Comment protéger mes macros contre les modifications ?
- Protégez le projet VBA par un mot de passe (Éditeur VBA > Outils > Propriétés de VBAProject > Protection). Stockez les certificats et fichiers sources dans un dépôt sécurisé.
- Les macros ralentissent-elles Excel ?
- Des macros mal conçues peuvent ralentir Excel. Optimisez le code (utilisez des tableaux en mémoire, évitez les boucles sur chaque cellule, désactivez les mises à jour d'écran avec Application.ScreenUpdating = False et réactivez-les ensuite).
Conclusion
Les macros sont un levier puissant d'automatisation dans Excel. En combinant paramètres de sécurité appropriés, signature numérique et bonnes pratiques de développement, vous pouvez automatiser efficacement tout en minimisant les risques. Commencez par tester, signer et centraliser vos macros dans des emplacements de confiance.