Bonjour,

J'ai créé la macro suivante :

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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
 
Sub CleaningCaracteresSpeciauxPDT(Wordobj As Word.Application)
 
 
'INITIALISATION DU TABLEAU CONTENANT LES ELEMENTS A REMPLACER
'---------------------------------------------------------
 
    Dim k As Integer
 
    Dim NbRemplacements As Integer
    NbRemplacements = 0
    Do While Sheets("Paramètres").Range("L" & NbRemplacements + 2).Value <> ""
        NbRemplacements = NbRemplacements + 1
    Loop
    Debug.Print "Il y a " & NbRemplacements & " élément(s) à remplacer"
 
    ReDim TabRechRempl(NbRemplacements - 1, 1)
     ' 1ère colonne : élément à remplacer
     ' 2ème colonne : élément qui remplace
     For k = 0 To UBound(TabRechRempl)
         TabRechRempl(k, 0) = Sheets("Paramètres").Range("L" & k + 2)
         TabRechRempl(k, 1) = Sheets("Paramètres").Range("O" & k + 2)
         'Debug.Print TabRechRempl(k, 0) & " --> " & TabRechRempl(k, 1)
     Next
 
'PROCEDURE DE RECHERCHER-REMPLACER
'---------------------------------
    'Si au moins un élément à remplacer, on lance la procédure de cleaning
    If NbRemplacements > 0 Then
        For k = 0 To UBound(TabRechRempl)
            Debug.Print "Remplacement : " & TabRechRempl(k, 0) & " --> " & TabRechRempl(k, 1)
            For i = 0 To UBound(TabStyles)
                Wordobj.selection.WholeStory
                With Wordobj.selection.Find
                    .ClearFormatting
                    .Text = TabRechRempl(k, 0)
                    .Style = TabStyles(i)
                    .Replacement.ClearFormatting
                    .Replacement.Text = TabRechRempl(k, 1)
                    .Execute Replace:=Word.WdReplace.wdReplaceAll
                End With
            Next
        Next
    Else
        Debug.Print "Pas d'éléments à remplacer."
    End If
 
 
End Sub
Cette macro permet de :
  • récupérer dans un tableau TabRechRempl les éléments à rechercher et par quoi les remplacer : je récupère ces éléments dans des cellules Excel situé dans ma feuille "paramètres"
  • Procéder au remplacement uniquement si le style correspond à des styles que j'ai défini dans le tableau TabStyles


Mon problème : dans mon word j'ai des flèches épaisses (flèche que l'on obtient en faissant ==> dans Word, ou si vous préférez le car(232) dans Excel en Windings) suivi de la phrase "Stop Inter". Je souhiate donc remplacer "==> Stop Inter" par une autre chaine de caractères.
Je ne sais pas comment faire cette recherche : que dois-je mettre dans ma cellule Excel de mon onglet Paramètres pour que cela soit reconnu ? Est-ce que je dois ajouter un paramètre spécifique dans la fonction FIND pour que cela retrouve bien ce caractère spécial ?

Merci beaucoup.

Milkamelia