Thomas a un grand document qui contient des éléments qui doivent être supprimés avant de publier le document pour d’autres. Les parties du document qui doivent être supprimées ont été sélectionnées et marquées d’un commentaire indiquant qu’elles doivent être supprimées avant la publication. Thomas aimerait trouver et remplacer rapidement tout le texte ainsi commenté et le supprimer.

En utilisant Rechercher et remplacer, tout ce qu’il peut faire est de trouver les commentaires. Il n’a pas trouvé un moyen de déterminer si le commentaire est un indicateur que le texte devrait être supprimé, ni n’a trouvé comment supprimer le texte du document qui a été mis en évidence.

Cela semble être une tâche assez complexe, car elle implique de nombreuses étapes. Vous devez trouver un commentaire, vous devez regarder le corps du commentaire pour voir s’il correspond à la formulation souhaitée, vous devez supprimer le texte commenté dans le corps du document, puis vous devez supprimer le commentaire lui-même. C’est un travail pour une macro.

Heureusement, tous les commentaires d’un document sont accessibles via le groupe Commentaires en utilisant VBA. Vous pouvez parcourir chacun des commentaires et voir s’il contient le « texte de déclenchement » pour indiquer que le commentaire (et le texte auquel il fait référence) doit être supprimé. Dans l’exemple suivant, si le texte du commentaire contient les mots « supprimer ceci » n’importe où dans le commentaire, cela sert de déclencheur.

Sub DeleteCommentsBaseText()

Dim c As Comment For Each c In ActiveDocument.Comments     If LCase(Trim(c.Range.Text)) Like "delete this" Then         c.Scope.Delete         c.DeleteRecursively     End If Next c End Sub

Si les mots déclencheurs figurent dans le commentaire, la propriété Scope est supprimée; c’est cette propriété qui indique le texte du document qui a été sélectionné lors de la création du commentaire. La méthode DeleteRecursively est ensuite utilisée pour supprimer le commentaire réel. (La méthode DeleteRecursively a été ajoutée dans Word 2013. Dans les versions antérieures, vous devriez utiliser la méthode Delete à la place.)

Comprenez que lorsque vous exécutez la macro, elle est très rapide et les modifications ne peuvent pas être annulées. Si vous souhaitez, à la place, un peu plus de contrôle sur les commentaires et le texte supprimés, vous voudrez peut-être repenser votre flux de travail. Si vous utilisez le suivi des modifications, celui qui place le commentaire peut également marquer le texte du document pour suppression. Ensuite, avant de finaliser le document, vous pouvez désactiver le suivi des modifications et parcourir chaque modification pour déterminer si elle doit être acceptée ou non. Ce n’est pas aussi rapide que la macro ci-dessus, mais cela vous donne un meilleur contrôle.

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites WordTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / wordribbon-WordTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

WordTips est votre source pour une formation Microsoft Word rentable.

(Microsoft Word est le logiciel de traitement de texte le plus populaire au monde.) Cette astuce (2490) s’applique à Microsoft Word 2007, 2010, 2013, 2016, 2019 et Word dans Office 365.