Bonjour,

J'ai un document avec une zone de texte. Je voudrais récupérer dans une variable string le contenu de cette zone de texte en insérant des balises correspondant à la mise en forme du texte (gras, italique, souligné).

J'ai adapté du code trouvé sur le web qui effectue l'insertion de balise mais en modifiant le contenu du range. Y aurait-il moyen d'obtenir le même résultats mais sans modifier le contenu du range.
J'avais pensé à stocker le range original dans un range temporaire mais je n'y parviens pas.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 
    Set document_actif = ThisDocument
    Set corpus_text_zone_texte_content = document_actif.Shapes("corpus_text_zone_texte_content")
    With corpus_text_zone_texte_content.TextFrame.TextRange
      With .Find
        .ClearFormatting
        .Replacement.ClearFormatting
        .Format = True
        .Forward = True
        .MatchWildcards = True
        .Wrap = wdFindContinue
        .Font.Underline = True
        .Text = ""
        .Replacement.Text = "<u>^&</u>"
        .Execute Replace:=wdReplaceAll
        .ClearFormatting
        .Font.Bold = True
        .Replacement.Text = "<b>^&</b>"
        .Execute Replace:=wdReplaceAll
        .ClearFormatting
        .Font.Italic = True
        .Replacement.Text = "<i>^&</i>"
        .Execute Replace:=wdReplaceAll
        .ClearFormatting
        .Highlight = True
        .Replacement.Text = "<h>^&</h>"
        .Execute Replace:=wdReplaceAll
      End With
    End With
Des idées?
D'avance merci.