Déplacer le curseur sur l’occurrence lors une selection.find
Attention Question concernant VBA word
Bonjour à tous,
En fait tout est dans le titre lol... Savez vous comment faire? Car le curseur word ne se place pas sur la sélection trouvée et reste à la 1ère page...je m'arrache les cheveux, je cherche désespérément mais en vain...
Merci beaucoup d'avance pour votre aide.
Voici mon bout code au cas où :
Do
With Selection.Find
.ClearFormatting
.Highlight = True
.Forward = True
.Text = TexteSignet
.Execute
CurPage = Selection.Information(wdActiveEndAdjustedPageNumber)
End With
NbPage = Selection.Information(wdNumberOfPagesInDocument)
Selection.Range.HighlightColorIndex = wdAuto
Loop While CurPage <> NbPage
Application.ScreenUpdating = False
Bonsoir
Franchement je n'y connais rien (cela doit être ma 1ére macro sous Word 2003)
Mais soit la macro ne trouve pas le mot
Soit il manque une instruction
Moi le mot est sélectionné lors de cette instruction qui est placé après le End With
Selection.Find.Execute
Voilà ma macro
Sub Macro1()
Selection.Find.ClearFormatting
With Selection.Find
.Text = "toto"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute
End Sub
Si cela peut t'aider sinon oublies vite
Salut banzaie,
Merci beaucoup... en fait ce que tu m'a proposé faisait sauter une partie de l'instruction car j'avais déjà la méthode "execute" dans mon find, ce qui fait qu'il passait 1 fois sur 2 à l'occurence suivante sans changer ce que je voulais changer...
MAIS !!!! lol , mais ça m'a permis de voir où était mon "faux problème"... En effet, je faisais un débogage pas à pas pour voir ce que faisait ma macro, et en fait elle faisait bien ce que je lui demandais, à savoir changer la surbrillance de ma selection et plaçer le curseur sur la selection... et une fois arrivé à la dernière page, elle devait sortir de la boucle.... Seulement comme un con je devais appuyer trop vite sur F8 et j'ai relancé ma fonction sans m'en rendre compte, ce qui fait que le curseur repartait en page 1 (via l'instruction qui n’apparaît pas dans mon poste : Selection.StartOf Unit:=wdStory) et comme toutes mes occurences avaient déjà été remises en forme grâce à la macro, la macro relancée ne trouvait rien et restait en page 1... donc comme la condition pour sortir de la boucle était d'arriver à la dernière page.... voilà lol....
Mais merci beaucoup, encore grâce à toi j'ai trouvé
nb: je viens de trouver une solution plus simple finalement pour sortir de ma boucle, donc je m'affranchi de l'info sur la page en cours. Cela évite les problèmes surtout si la macro est relancée et surtout si la fonction find ne trouve plus rien (c'est le problème majeur de ma boucle)