© monticello / Shutterstock
© monticello / Shutterstock

On ne présente plus Word, le fer de lance du traitement de texte depuis son intégration à la suite Microsoft Office en 1993. Aujourd'hui, le software a bien évolué. Non seulement il met en forme des textes en y ajoutant éventuellement des graphiques, mais il permet également d'automatiser certaines opérations récurrentes, grâce aux macros.

Les macros sont apparues dans Word avec la version 6, c'est-à-dire au moment de l'avènement de la solution de traitement de texte. Aujourd'hui, cette fonctionnalité fait partie intégrante de Word. L'éditeur de macros choisi par Microsoft est Visual Basic Editor, dont les composants offrent de nombreuses possibilités dans l'utilisation des macros. Suivez le guide pour en savoir plus sur les macros Word et apprendre à en créer facilement.

À quoi sert une macro ? 

Une macro est une fonction qui permet de répéter simplement et rapidement une opération ou une séquence de commandes. Il s'agit en réalité d'un programme grâce auquel il est possible d'automatiser une tâche. Même si la macro en elle-même est composée de lignes de commande, l'interface de Word est prévue pour qu'il n'y ait pas besoin d'être développeur pour les créer, les modifier et les utiliser. Une fois la macro enregistrée, elle peut être exécutée avec un déclencheur : appui sur un bouton, raccourci clavier… Les macros permettent de gagner du temps sur la répétition des tâches récurrentes. Mais elles demandent un petit effort de programmation et de mise en place en amont, c'est pourquoi il est préférable de les réserver aux actions vraiment fréquentes.

Le langage VBA standardisé a remplacé les langages précédents des macros au milieu des années 90. Les macros peuvent désormais interagir entre les programmes de la suite Office. Ainsi, des données peuvent par exemple être transférées depuis Word dans un tableau Excel grâce à une macro.

Comment créer facilement une macro pour Word ? 

Une macro est une succession de lignes de commande. Cela peut paraître, au premier abord, inaccessible aux néophytes. Pourtant, créer une macro ne nécessite aucune connaissance en programmation, grâce à l'interface ergonomique de l'enregistreur de macros, d'autant plus que Microsoft a prévu de nombreux tutoriels pour vous accompagner. Sachez que vous avez quand même accès à tout moment au code de votre macro, avec l'éditeur intégré, VBE (Visual Basic Editor), si vous souhaitez le modifier.

© Pascale Duc pour Clubic
© Pascale Duc pour Clubic

Notez qu'aucune macro n'existe par défaut dans Word. C'est à vous de monter de toutes pièces celles dont vous avez besoin. Pour créer une macro, il vous suffit de lancer l'enregistreur de macros (dans le menu « Affichage »). Choisissez le déclencheur de la macro, bouton ou combinaison de touches, puis effectuez en conditions réelles les actions que vous voulez y inclure.

Une fois l'opération terminée, stoppez l'enregistreur. Les lignes de commandes sont automatiquement générées, et la macro est conservée pour être réutilisée aussi souvent que vous le souhaitez. Le bouton de lancement de la macro peut être directement ajouté à la barre d'outils de Word. Vous pouvez également exécuter la macro depuis l'interface de listing de toutes les macros (accessible depuis le menu « Affichage »).

© Pascale Duc pour Clubic

À noter que lorsque vous créez une macro, elle est rattachée au document dans lequel vous l'avez enregistrée. Si vous souhaitez créer une macro utilisable dans tous vos documents Word, il faut la créer dans le modèle « normal.dotm ». Ainsi, dès que vous ouvrirez un nouveau document, votre macro y sera disponible.

Comment importer une macro existante dans Word ?

Vous avez enregistré des macros sur un autre appareil, ou vous avez reçu une macro de quelqu'un par e-mail, sur un drive ou sur une clé USB ? Vous avez trouvé en ligne une macro qui correspond exactement à votre besoin et vous l'avez téléchargée ? Sachez que vous pouvez très facilement les importer pour les exécuter dans vos fichiers.

Si la macro à importer se présente sous forme de fichier, rendez-vous dans l'explorateur de macros dans le menu « Affichage » et choisissez « Fichier/Importer un fichier ». C'est au même endroit que vous pouvez exporter une macro que vous avez créée.

© Pascale Duc pour Clubic

Si la macro à importer est une série de lignes de code, vous devez les copier et les coller dans une nouvelle macro, créée dans l'éditeur Visual Basic, avant de l'enregistrer.

Faut-il se méfier des virus dans les macros Word ?

Les macros sont des lignes de commande ouvertes à tous. Elles peuvent donc comporter des instructions malveillantes. La propagation des virus contenus dans certaines macros est facilitée par l'échange des fichiers Word, qui semblent inoffensifs. La plupart des macrovirus peuvent être contrés par les antivirus et firewalls, mais ce n'est pas toujours le cas. C'est pour cette raison que Microsoft a mis en place un système qui avertit automatiquement l'utilisateur lorsqu'il lance un fichier comportant une macro (avant de l'exécuter). Pour aller plus loin, depuis 2007, les fichiers Word contenant des macros sont obligatoirement enregistrés avec une extension spécifique : .docm ou .doctm. Cela les rend faciles à identifier avant même que le destinataire ne les ouvre.

Quelques exemples de macros pour Word

Les applications des macros pour Word sont infinies, elles n'ont pour limite que les besoins des utilisateurs. Voici quelques exemples à copier-coller dans l'éditeur de macros.

Déterminer automatiquement la longueur moyenne d'une phrase

Vous avez des obligations quant à la longueur moyenne des phrases d'un texte (pour une question de format de mise en page, par exemple) ? Une macro peut vous aider à respecter les consignes. Elle compte le nombre de mots de chaque phrase et fait la moyenne de toutes les phrases. Cette moyenne est affichée dans une fenêtre. Voici le code à utiliser :

Sub NbMoyMots()

    Dim s As Range

    Dim numWords As Integer

    Dim numSentences As Integer

    

    numSentences = 0

    numWords = 0

    

    For Each s In ActiveDocument.Sentences

        numSentences = numSentences + 1

        numWords = numWords + s.Words.Count

    Next

    

    MsgBox "Nombre moyen de mots par phrase : " + Str(Int(numWords / numSentences))

End Sub

Ajouter des mots à certains endroits du texte

Vous souhaitez ajouter le mot « Titre » à chaque partie du texte qui a le format « Titre 2 » ou « Titre 3 » ? Avec cette macro, vous n'avez pas besoin de sélectionner tout le texte, il s'agit d'une boucle qui revient automatiquement au début.

Sub AjouterTitre()

    With ActiveDocument.Content.Find

        .ClearFormatting

        .Style = wdStyleHeading2

        Do While .Execute(Forward:=True, Format:=True) = True

            With .Parent

                If .End = ActiveDocument.Content.End Then

                    .StartOf Unit:=wdParagraph, Extend:=wdMove

                    .InsertAfter "Hop : "

                    Exit Do

                Else

                    .StartOf Unit:=wdParagraph, Extend:=wdMove

                    .InsertAfter "Hop : "

                    .Move Unit:=wdParagraph, Count:=1

                End If

            End With

        Loop

    End With

    With ActiveDocument.Content.Find

        .ClearFormatting

        .Style = wdStyleHeading3

        Do While .Execute(Forward:=True, Format:=True) = True

            With .Parent

                If .End = ActiveDocument.Content.End Then

                    .StartOf Unit:=wdParagraph, Extend:=wdMove

                    .InsertAfter "Hop : "

                    Exit Do

                Else

                    .StartOf Unit:=wdParagraph, Extend:=wdMove

                    .InsertAfter "Hop : "

                    .Move Unit:=wdParagraph, Count:=1

                End If

            End With

        Loop

    End With

End Sub

Écrire une partie du texte avec un dégradé arc-en-ciel

Envie d'égayer certaines parties de votre texte ? Word dispose de plusieurs types de dégradés. Grâce à une macro, vous pouvez appliquer un dégradé arc-en-ciel à une sélection, en un clic :

Sub Rainbow()

    With Selection

        .Font.Fill.PresetGradient Style:=msoGradientVertical, variant:=1, PresetGradientType:=msoGradientRainbow

        .Collapse Direction:=WdCollapseDirection.wdCollapseEnd

        .TypeParagraph

    End With

End Sub

Appliquer une couleur à la première lettre de chaque paragraphe

Avec ce dernier exemple de macro, vous pouvez mettre en rouge la première lettre de chaque paragraphe du texte :

Sub LettreRouge()

    Dim Paragraphe As Paragraph

    For Each Paragraphe In ActiveDocument.Paragraphs

        If Paragraphe.Range.Text <> vbNullString Then

            Paragraphe.Range.Characters(1).Font.Color = RGB(255, 0, 0)

        End If

    Next Paragraphe

End Sub

Pour une autre couleur que le rouge, remplacez « RGB(255, 0, 0) » par le code RGB de la couleur désirée.

Les quelques exemples de macros plutôt ludiques que nous vous avons proposés vous donnent un aperçu de la puissance de cette fonctionnalité. Les macros Word sont utiles à chaque fois que vous avez une tâche répétitive à effectuer. Cela peut concerner le format du texte, l'extraction de données, l'insertion de mots, de chiffres, de paragraphes, de tableaux préformatés…

Une macro peut également ouvrir un nouveau document Word, y écrire un texte, puis l'enregistrer et le fermer. Et si vous avez du mal à créer vous-même votre macro Word, pourquoi ne pas demander à ChatGPT de vous aider ? Cela vous permettra d'éviter de télécharger une macro sur le Net, avec le risque qu'elle soit accompagnée d'un virus…

  • Intégration fluide avec d'autres applications Microsoft Office.
  • Fonctionnalités avancées de mise en forme et de révision.
  • Disponibilité sur plusieurs plateformes, y compris Windows, Mac et Android.
8 / 10