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 !