Bonjour.

Avec Word 2003 j'utilise cette macro pour chercher et remplacer du texte, (voir plusieurs mots mis dans une variable Tableau).

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
 
sub remplace 
 
Dim sTexte()
sTexte = Array("texte1", "texte2", "texte3")
 
For i = 0 To UBound(sTexte)
 
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
 
With Selection.Find
 
.Text = sTexte(i)
.Replacement.Text = "OK"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = True
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
 
End With
 
Selection.Find.Execute Replace:=wdReplaceAll
 
Next i
 
end sub
Comme additif à ce code, j'aimerai rajouter Une Bordure exterieure à chaque mot remplacé.

Le code recupéré en mode manuel est peu explicite :

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
With Selection.Borders(wdBorderTop)
        .LineStyle = Options.DefaultBorderLineStyle
        .LineWidth = Options.DefaultBorderLineWidth
        .Color = Options.DefaultBorderColor
    End With
 
    With Selection.Borders(wdBorderLeft)
        .LineStyle = Options.DefaultBorderLineStyle
        .LineWidth = Options.DefaultBorderLineWidth
        .Color = Options.DefaultBorderColor
    End With
 
    With Selection.Borders(wdBorderBottom)
        .LineStyle = Options.DefaultBorderLineStyle
        .LineWidth = Options.DefaultBorderLineWidth
        .Color = Options.DefaultBorderColor
    End With
 
    With Selection.Borders(wdBorderRight)
        .LineStyle = Options.DefaultBorderLineStyle
        .LineWidth = Options.DefaultBorderLineWidth
        .Color = Options.DefaultBorderColor
    End With
Comment mixer les 2 codes pour obtenir un traitement VBA satisfaisant ?

Merci de toute aide .