Demande correction macro word
FVR812
Messages postés
126
Statut
Membre
-
Le Pingou Messages postés 12273 Date d'inscription Statut Contributeur Dernière intervention -
Le Pingou Messages postés 12273 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour, SVP pourquoi ma macro coince t elle ?
la ligne
For Each mot As String In lesMots
apparaît en rouge et une fenêtre m'affiche erreur de compilation
la ligne
For Each mot As String In lesMots
apparaît en rouge et une fenêtre m'affiche erreur de compilation
ub hdja()
Dim lesMots As Variant
lesMots = Array("handicap", "invalid", "infirm", "dys", "incap", "accessib", "accé", "accè", "autist", "para", "amnésie", "appareil", "besoin", "educ", "particulier", "comport", "discrimin", "emotion", "epiliepsie", "estime", "soi", "person", "représent", "fonction", "execut", "cognit", "audit", "vis", "situation", "communic", "langage", "corp", "perte", "moteur", "exclu", "retard", "scolaire", "inclu", "exclu", "parole", "geste", "poly", "pluri", "représent", "sensoriel", "psy", "sentiment", "trouble", "sensibili", "harcel", "potent", "viol")
For Each mot As String In lesMots
Remplacer mot
Next mot
End Sub
Sub Remplacer(LeTexte As String)
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
Selection.Find.Replacement.Font.Color = wdColorRed
With Selection.Find
.Text = LeTexte
.Replacement.Text = LeTexte
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
4 réponses
-
J'ai ressayé en faisant 2 fois lesMots=Array(... et divisant ma quantité de mots en 2 et ça marche, mais bon comme je ne fais qu'appliquer une macro que l'un d'entre vous m'avait faite, je ne sais pas trop pourquoi. Merci quand même
-
Bonjour,
Juste au passage, il semble que votre macro n'est pas complète,,.. ! Alors pas possible d'en faire plus.
-
Bonjour,
J'ai une solution plus souple, ici :
https://faqword.com/index.php/word/10-mise-en-forme/1182-comment-en-une-seule-operation-appliquer-un-format-particulier-a-plusieurs-expressions-dissemines-dans-un-document
N'hésitez pas à télécharger l'exemple.
m@rina
-
Bonjour FVR812,
Je vous propose de modifier deux parties de votre code:For Each mot As String In lesMots
renmplacer parFor Each mot In lesMots
ETSub Remplacer(LeTexte As String)
remplacer parSub Remplacer(ByVal LeTexte As String)