Moshe a un document Word qui a été édité par un éditeur de copie. Partout où l’éditeur a inséré un commentaire, il commence par une parenthèse gauche, suivie de « ed note: », puis la note, et enfin une parenthèse droite.

Pour les processus internes de Moshe, il est plus avantageux d’avoir ces notes en tant que commentaires Word réels. Il se demande s’il existe un moyen d’automatiser la recherche de ces notes dans le texte et de les convertir en commentaires Word.

La manière d’automatiser ce processus consiste à utiliser une macro. La macro peut s’appuyer sur les capacités de recherche et de remplacement de Word, mais ajoute un traitement chaque fois qu’un commentaire correspondant est localisé.

Sub NoteToComment()

Dim sTemp As String

Selection.HomeKey Unit:=wdStory

With Selection.Find         .ClearFormatting         .Text = "\(ed note:*\)"

.Replacement.Text = ""

.Forward = True         .Wrap = wdFindStop         .MatchWildcards = True     End With

Do While Selection.Find.Execute         sTemp = Selection.Text         sTemp = Mid(sTemp, 10, Len(sTemp) - 11)

sTemp = Trim(sTemp)

Selection.Text = ""

Selection.MoveEnd unit:=wdCharacter         Selection.MoveStart unit:=wdCharacter, Count:=-1         If Selection.Text = "  " Then Selection.Text = " "

Selection.Collapse         ActiveDocument.Comments.Add Range:=Selection.Range, Text:=sTemp     Loop End Sub

La macro se déplace d’abord au début du document, puis elle définit les conditions de recherche. Ce qui est recherché est le motif noté par Moshe – une parenthèse gauche, suivie de « ed note: », puis la note, et enfin une parenthèse droite – cette séquence est affectée à la propriété .Text de l’objet Find. Notez que chaque parenthèse est précédée d’une barre oblique inverse. Si ces barres obliques inverses n’étaient pas incluses, Word considérerait les parenthèses comme des caractères de contrôle dans le modèle de recherche. En outre, la propriété .MatchWildcards est définie sur True afin que la propriété .Text soit traitée comme un modèle de recherche.

Dans la boucle Do While, qui est entrée chaque fois qu’un commentaire correspondant est trouvé, la variable sTemp est définie sur le texte du commentaire. Les 9 premiers caractères sont supprimés (ce sont « (note éd.: ») Avec la dernière parenthèse droite. Le commentaire est supprimé du document et s’il reste plusieurs espaces après la suppression, ceux-ci sont également supprimés.

Enfin, un commentaire réel est ajouté qui contient le texte de la variable sTemp.

Il y a une chose à retenir lors de l’utilisation de cette macro: il dépend de la correspondance correcte du modèle de commentaire. Cela signifie que s’il y a des commentaires qui ne suivent pas exactement le modèle, ils peuvent ne pas être trouvés et convertis (par exemple, s’il y a un espace après la parenthèse gauche ouvrante.) De plus, si les commentaires dans le document contiennent des remarques entre parenthèses dans le commentaire (en d’autres termes, il y a des parenthèses imbriquées dans le commentaire), qui gâcheront ce qui est trouvé par la recherche par caractères génériques et ce qui se retrouve ensuite dans le commentaire.

_Note : _

Si vous souhaitez savoir comment nous e les macros décrites sur cette page (ou sur toute autre page des sites WordTips), j’ai préparé une page spéciale qui contient 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 (1797) s’applique à Microsoft Word 2007, 2010, 2013 et 2016.