Rechercher remplacer dans Word via Excel : les caractères spéciaux
Bonjour,
J'ai créé la macro suivante :
Code:
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