4.4Macros & VBA
L'essentiel en 30 secondes
- Les macros enregistrent des séquences d'actions pour les rejouer automatiquement et gagner du temps.
- Le format .docm est obligatoire pour les macros ; le .docx les désactive pour des raisons de sécurité.
- L'éditeur VBA (Alt+F11) permet de visualiser, modifier et créer des macros avancées.
Fil Imane — Macros & VBA
Imane répète chaque semaine les mêmes opérations de mise en forme. Elle enregistre une macro simple, découvre le VBA et vérifie que la macro reste disponible dans le bon format de fichier.
Suite du fil rouge : une PME de logistique à Alger professionnalise ses documents.
1. Qu'est-ce qu'une macro ?
Une macro est un enregistrement de séquence d'actions qui peut être rejouée en un clic. Concrètement, Word enregistre chaque action que vous effectuez (mises en forme, insertions, navigations) et les rejoue automatiquement.
Les macros sont particulièrement utiles pour les tâches répétitives : appliquer un formatage spécifique, insérer un en-tête standard, nettoyer un document importé, créer une table des matières. Une macro de 30 secondes peut remplacer 10 minutes de travail manuel.
Une macro est enregistrée dans un document au format .docm (Document Word prenant en charge les macros) ou dans le modèle global normal.dotm. Le format .docx ne supporte pas les macros pour des raisons de sécurité.
2. Enregistrer une macro
Pour enregistrer : allez dans Développeur → Enregistrer la macro (ou cliquez sur le bouton dans la barre d'état en bas). Donnez un nom (sans espaces, pas de caractères spéciaux), choisissez un raccourci clavier optionnel, et sélectionnez le stockage (ce document ou normal.dotm).
Une fois l'enregistrement lancé, toutes vos actions sont enregistrées : tapé de texte, mise en forme, navigation,insertion. Cliquez sur Arrêter l'enregistrement dès que la séquence est terminée.
⚠️ Attention : l'enregistreur enregistre tout, y compris les erreurs. Si vous faites un faux pas, annulez-le (Ctrl+Z) avant d'arrêter, ou supprimez la macro dans l'éditeur VBA pour corriger. Pensez à planifier mentalement votre séquence avant de commencer l'enregistrement.
3. Bases du VBA pour Word
Le VBA (Visual Basic for Applications) est le langage de programmation des macros Office. L'éditeur VBA s'ouvre avec Alt+F11. C'est ici que vous pouvez visualiser, modifier et créer des macros.
Une macro VBA basique ressemble à :
Sub MacroExemple()
Selection.Style = ActiveDocument.Styles("Titre 1")
Selection.TypeText Text:="Nouveau paragraphe"
Selection.TypeParagraph
End Sub
Les concepts clés : Sub (routine sans valeur de retour), Function (avec retour), Dim (déclaration de variable), If…Then (condition), For…Next (boucle). Le VBA utilise l'objet Word (ActiveDocument, Selection) pour interagir avec le document.
4. Sécurité et gestion des macros
Les macros sont un vecteur de malware courant. Word applique un système de sécurité en plusieurs niveaux : par défaut, les macros sont désactivées dans les documents téléchargés ou reçus par e-mail.
Vous pouvez paramétrer le niveau de sécurité dans Fichier → Options → Centre de gestion de la confidentialité → Paramètres des macros. Les options incluent : désactiver toutes les macros, activer les macros signées uniquement, ou activer toutes les macros (déconseillé).
Pour partager vos macros en toute sécurité, utilisez des certificats numériques pour signer vos projets VBA. Les macros signées par un certificat approuvé seront exécutées sans alerte. Conservez les fichiers .docm sur des supports fiables et informez vos utilisateurs avant d'exécuter une macro.
🔎 Exemple concret — Exemple concret — Macro d'application de style rapide
// Avant : document avec texte brut sélectionné
// Macro enregistrée :
Sub AppliquerStyleRapide()
' Applique le style 'Citation' à la sélection
Selection.Style = ActiveDocument.Styles("Citation")
' Ajoute une ligne vide après
Selection.TypeParagraph
End Sub
// Raccourci : Ctrl+Shift+Q
// Utilisation : sélectionner le texte → Ctrl+Shift+Q
Enregistrer une macro qui applique un style personnalisé en un raccourci.
Nommez vos macros sans espaces ni caractères spéciaux (use PascalCase)
Un raccourci clavier personnalisé permet une exécution ultra-rapide
L'éditeur VBA (Alt+F11) permet de modifier la macro après enregistrement
Sauvegardez toujours en .docm, jamais en .docx, pour conserver les macros
Vocabulaire de la section
- Macro Word
- Enregistrement d'une séquence d'actions répétitives qui peut être rejouée automatiquement pour automatiser des tâches courantes
Exemple simple : Imane applique « Macro Word » dans ses documents professionnels.
Ce que ce n'est pas : traiter « Macro Word » comme un détail sans impact sur le document.
Réflexe : Ce choix rend-il le document plus clair et plus fiable ?
- VBA
- Langage de programmation (Visual Basic for Applications) utilisé pour créer et modifier les macros Microsoft Office
Exemple simple : Imane applique « VBA » dans ses documents professionnels.
Ce que ce n'est pas : traiter « VBA » comme un détail sans impact sur le document.
Réflexe : Ce choix rend-il le document plus clair et plus fiable ?
- .docm
- Format de fichier Word qui prend en charge les macros (par opposition au .docx qui les désactive pour la sécurité)
Exemple simple : Imane applique « .docm » dans ses documents professionnels.
Ce que ce n'est pas : traiter « .docm » comme un détail sans impact sur le document.
Réflexe : Ce choix rend-il le document plus clair et plus fiable ?
- Éditeur VBA
- Environnement de développement intégré (Alt+F11) pour visualiser, modifier et créer des macros et des procédures VBA
Exemple simple : Imane applique « Éditeur VBA » dans ses documents professionnels.
Ce que ce n'est pas : traiter « Éditeur VBA » comme un détail sans impact sur le document.
Réflexe : Ce choix rend-il le document plus clair et plus fiable ?
En pratique — Créer une macro d'insertion d'en-tête standard
- Ouvrir un document et aller dans Développeur → Enregistrer la macro
- Nommer la macro « EnregistrerEnTeteStandard » et choisir un raccourci
- Aller dans Insertion → En-tête → Modifier l'en-tête
- Saisir le texte de l'en-tête et appliquer le formatage souhaité
- Fermer l'en-tête et arrêter l'enregistrement
- Tester la macro via le raccourci dans un nouveau document
- Ouvrir l'éditeur VBA (Alt+F11) pour inspecter le code généré
Script prêt à dire — Macros & VBA (25 s)
« Enregistrer et exécuter des macros, comprendre les bases du VBA, gérer la sécurité des macros et créer des automatisations simples pour gagner du temps. Concrètement, je vérifie ce point avant de diffuser le document : les macros enregistrent des séquences d'actions pour les rejouer automatiquement et gagner du temps. »
Formulation courte, à adapter au destinataire et au contexte du document.
Modèle copier-coller — checklist « Macros & VBA »
CHECKLIST — Macros & VBA
1. Les macros enregistrent des séquences d'actions pour les rejouer automatiquement et gagner du temps.
2. Le format .docm est obligatoire pour les macros ; le .docx les désactive pour des raisons de sécurité.
3. L'éditeur VBA (Alt+F11) permet de visualiser, modifier et créer des macros avancées.
4. La sécurité des macros est gérée par le Centre de gestion de la confidentialité avec différents niveaux d'activation.
RÉSULTAT ATTENDU : Une macro exécutable en un clic qui insère automatiquement un en-tête standardisé dans n'importe quel document.
Version express
Appliquer seulement l’essentiel et le premier point clé, puis vérifier le rendu dans un document court.
À distance
Partager un PDF et vérifier polices, marges et pagination avant l’envoi.
En équipe
Verrouiller le modèle commun et documenter les choix pour que les collègues restent cohérents.
Version imprimée
Contrôler la pagination, les en-têtes et le contraste avant impression.
✓ Bonnes pratiques
- Planifiez votre séquence avant de lancer l'enregistrement : une macro bien planifiée est une macro sans erreurs.
- Utilisez des raccourci clavier personnalisés pour les macros les plus utilisées (évitez les combinaisons existantes comme Ctrl+C).
- Apprenez les bases du VBA (Alt+F11) pour modifier vos macros et les rendre plus robustes avec des conditions et des boucles.
- Signez vos macros avec un certificat pour éviter les alertes de sécurité chez les destinataires.
✗ Pièges fréquents
- Enregistrer au format .docx : les macros sont supprimées à la sauvegarde, sans erreur visible.
- Oublier d'arrêter l'enregistrement : toutes les actions ultérieures sont enregistrées inutilement.
- Macro enregistrée dans normal.dotm sans le savoir : la macro s'exécute dans tous les documents, pas seulement celui prévu.
- Activation des macros sans vérification : risque de sécurité si le document provient d'une source inconnue.
Points clés à retenir
- Les macros enregistrent des séquences d'actions pour les rejouer automatiquement et gagner du temps.
- Le format .docm est obligatoire pour les macros ; le .docx les désactive pour des raisons de sécurité.
- L'éditeur VBA (Alt+F11) permet de visualiser, modifier et créer des macros avancées.
- La sécurité des macros est gérée par le Centre de gestion de la confidentialité avec différents niveaux d'activation.
Défi 48h — appliquez demain
Reprenez créer une macro d'insertion d'en-tête standard sur un document réel de la PME d’Imane : Ouvrir un document et aller dans Développeur → Enregistrer la macro. Chronométrez 20 minutes et notez ce qui a changé.
- Je peux expliquer et appliquer : Les macros enregistrent des séquences d'actions pour les rejouer automatiquement et gagner du temps.
- Je peux expliquer et appliquer : Le format .docm est obligatoire pour les macros ; le .docx les désactive pour des raisons de sécurité.
- Je peux expliquer et appliquer : L'éditeur VBA (Alt+F11) permet de visualiser, modifier et créer des macros avancées.
Questions fréquentes
Peut-on protéger une macro par mot de passe ?
Oui : dans l'éditeur VBA, outils → PropriétésVBAProject → Protection → Verrouiller le projet pour affichage.
Une macro peut-elle interagir avec plusieurs documents ?
Oui, le VBA peut manipuler tous les documents ouverts via ActiveDocument ou Documents("nom"). C'est utile pour des traitements en lot.
Comment partager une macro sans risque ?
Signez-la avec un certificat numérique, ou exportez le module VBA via l'éditeur et importez-le dans le document du destinataire.
Word Online supporte-t-il les macros ?
Non, Word Online n'exécute pas les macros VBA. Les macros nécessitent Word desktop (Windows ou Mac).
Dans quel format de fichier Word les macros sont-elles conservées ?