Extraire le texte en italique d’un document Word

Assez peu courant mais parfois utile, comment peut on extraire tout le texte en italique d’un document Word ? De façon plus générale comment peut-on extraire tout le texte ayant une certaine mise en forme d’un document ?

Ci-dessous une solution avec une macro VBA pour extraire tout le texte en italique d’un document Word.

1/ Ouvrez le document Word contenant le texte ou collez le texte en conservant la mise en forme source.

2/ Appuyez sur Alt + F11 pour ouvrir l’éditeur VBA, puis double-cliquez sur « ThisDocument ».

3/ Dans la fenêtre qui vient de s’ouvrir, collez le code ci-dessous :

Sub ExtraireItaliqueEtInsererEnHaut()
    Dim rng As Range
    Dim texteItalique As String
    Dim texteTrouve As String
    Dim documentTexte As Range
    
    ' Initialisation de la chaîne qui contiendra tout le texte en italique
    texteItalique = ""

    ' Parcourir tout le contenu du document
    For Each rng In ActiveDocument.StoryRanges
        Do
            ' Rechercher les caractères en italique
            With rng.Find
                .ClearFormatting
                .Font.Italic = True
                .Replacement.ClearFormatting
                .Text = ""
                .Replacement.Text = ""
                .Forward = True
                .Wrap = wdFindStop
                ' Exécuter la recherche
                If .Execute Then
                    ' Ajouter le texte trouvé à la variable, séparé par un espace
                    texteTrouve = rng.Text
                    texteItalique = texteItalique & texteTrouve & " "
                    rng.Collapse wdCollapseEnd
                Else
                    Exit Do
                End If
            End With
        Loop
    Next rng

    ' Insérer le texte en italique récupéré au début du document
    If texteItalique <> "" Then
        Set documentTexte = ActiveDocument.Content
        documentTexte.InsertBefore Trim(texteItalique) & vbCrLf & vbCrLf
        MsgBox "Le texte en italique a été récupéré et inséré au-dessus avec succès !", vbInformation
    Else
        MsgBox "Aucun texte en italique trouvé dans le document.", vbExclamation
    End If
End Sub

4/ Appuyez sur F5 pour exécuter la macro.

Le texte en italique est alors récupéré et inséré en haut du document :

Vous avez réussi à extraire le texte en italique de votre document Word ! Le code peut bien entendu être modifié pour extraire une autre mise en forme.

Commentez pour toute question ou remarque !

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.