Dans la commande Remplacer, correspond au (x) premier (s) mot (s) du document uniquement

1

J'utilise Remplacer pour mettre en italique le ou les premiers mots de chaque paragraphe, suivis d'un onglet utilisant cette expression générique:

^13*^t

Le ^13trouve le début d'un nouveau paragraphe. Je veux seulement remplacer les premiers mots d'un paragraphe s'ils sont suivis d'un onglet, d'où le ^t.

Et je le remplace par ^&, et le formatage italique est appliqué.

Cela fonctionne pour tout sauf le premier paragraphe du document, puisqu'il ne commence ^13apparemment pas par , apparemment. Est-il possible de ne faire correspondre que le premier mot suivi d'un onglet?

Je mets cela dans une macro, donc je suis ouvert à utiliser des fonctionnalités qui ne sont disponibles que dans une macro si nécessaire.

Tenfour04
la source

Réponses:

0

Vous pouvez y parvenir avec une macro VBA (que vous pouvez affecter à une touche de raccourci), sans utiliser rechercher et remplacer.

NB: Ce code suppose également que vous utilisez la méthode que vous avez décrite dans votre message précédent, SHIFT et ENTER, pour commencer un nouveau paragraphe pour le même locuteur.

Le code suivant parcourt chaque paragraphe et vérifie chaque mot. Il met en italique chaque mot jusqu'à ce qu'il trouve un caractère de tabulation, puis passe au paragraphe suivant et répète le processus.

Sub italiciseBeforeTab()

    Dim para As Paragraph

    For Each para In ActiveDocument.Paragraphs

        Dim wd As Range

        For Each wd In para.Range.Words

            wd.Font.Italic = True
            If wd = vbTab Then Exit For

        Next wd

    Next para

End Sub
Tanya
la source