Bonjour à tous,

Je suis nouveau ici et cela fait à peine une semaine que j'ai débuté à faire des macro VBA sur word dans le cadre d'un stage.
Je m'excuses donc par avance si je dit de grosses bêtises ou si je ne comprends pas bien tout.

Voila mon problème:

Je dois créer un macro qui corrige directement des mots ou des phrases dans un document word. Ces mots ou ces phrases étant toujours les mêmes j'ai donc pu le faire à l'aide de "Sélectionner/remplacer". Cependant à un moment j'ai dû effectuer la recherche en fonction d'un mot variable mais toujours positionné à une position spécifique. J'ai donc réussi à rechercher ce mot que je doit alors corriger en fonction de cinq mots possible. J'ai d'ailleurs créé un Userform pour cela.

Mon code de recherche

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
 Selection.HomeKey Unit:=wdStory
    Selection.Find.ClearFormatting
    With Selection.Find
        .Text = "<liseré> <(*)>"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchAllWordForms = False
        .MatchSoundsLike = False
        .MatchWildcards = True
    End With
    Selection.Find.Execute
    While Selection.Find.Found
        aMotTrouve = Selection.Range.Words(2)
        If ((Not ("violet " = aMotTrouve)) And (Not ("rouge " = aMotTrouve)) And (Not ("orange " = aMotTrouve)) And (Not ("vert " = aMotTrouve)) And (Not ("bleu " = aMotTrouve))) Then MsgBox aMotTrouve, vbCritical, "Erreur couleur liseré"
        If ((Not ("violet " = aMotTrouve)) And (Not ("rouge " = aMotTrouve)) And (Not ("orange " = aMotTrouve)) And (Not ("vert " = aMotTrouve)) And (Not ("bleu " = aMotTrouve))) Then Correc_couleur.Show
Selection.Find.Execute
       Wend
Avec le code pour le UseForm "Correc_couleur " qui est :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
Private Sub Corriger_Click()
With Selection.Find
    .Text = Fenetre_EDD.aMotTrouve
    .Replacement.Text = Correc_couleur.Liste_couleur.Value
    .Forward = True
    .ClearFormatting
    .Wrap = wdFindContinue
    .Execute Replace:=wdReplaceAll
End With
Selection.Find.Execute
Unload Me  ' Ferme le UserForm
 
End Sub

Le problème, c'est que quand j'effectue cette macro, elle me propose de corriger le premier mot qui à un problème d'orthographe mais pas les suivants si il y en a ...
J'ai l'impression que c'est un problème lié au Select.Find mais je n'en suis pas sûr et j'ai essayé plusieurs choses sans succès

Pouvez vous m'aidez s'il vous plaît. J'espère avoir été suffisamment clair.