OVH Cloud OVH Cloud

Remplacement de texte dans un pied de page

3 réponses
Avatar
Gilbert
Bonjour,

J'utilise à partir d'Access le code ci-dessous pour remplacer les noms de
champs que j'ai mis dans mes modèles Word par 'la valeur qui va bien'.
Dans certains modèles , je voudrais remplacer également dans le pied de
page, mais ça ne fonctionne pas.

Y-a-t'il une subtilité (ou un paramètre que je n'ai pas trouvé) pour
effectuer le remplacement dans le pied de page?


Merci d'avance

Gilbert

Voici un bout du code utilisé (je vous passe les boucles)

With Word_App.ActiveDocument.Range.Find
.ClearFormatting
.Execute findtext:= fld.name, Wrap:=wdFindContinue,
Replace:=wdReplaceAll, replacewith:=strTmp
End With

3 réponses

Avatar
Tisane
Bonjour Gilbert,

J'utilise à partir d'Access le code ci-dessous pour remplacer les noms de
champs que j'ai mis dans mes modèles Word par 'la valeur qui va bien'.
Dans certains modèles , je voudrais remplacer également dans le pied de
page, mais ça ne fonctionne pas.
Y-a-t'il une subtilité (ou un paramètre que je n'ai pas trouvé) pour
effectuer le remplacement dans le pied de page?


Je dirais qu'il faut que tu actives le pied de page pour pouvoir effectuer
le rechercher/remplacer.
Je ne suis pas compétente en VB-VBA, mais cela doit être quelque chose du
style :
ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooter

Eventuellement, fais une macro autoenregistrée dans Word pour avoir la
syntaxe.

--
Tisane

Avatar
Gilbert
Je viens de trouver la solution dans les archives

http://word.mvps.org/FAQs/MacrosVBA/FindReplaceAllWithVBA.htm

Merci à tous
Avatar
lapointe
Bonjour

Pour les en-tête et les pieds (de section), tu dois les parcourir en dehors
du document :

For I = 1 To .Sections.Count
With .Sections(I)
For J = 1 To .Headers.Count
If .Headers(J).Range.Fields.Count > 0 Then
For Each aField In .Headers(J).Range.Fields
............ Ton traitement
Next aField
End If
Next J

For J = 1 To .Footers.Count
If .Footers(J).Fields.Count > 0 Then
For Each aField In .Footers(J).Range.Fields
.......... Idem
Next aField
End If
Next J
End With
Next I
End With



Je viens de trouver la solution dans les archives

http://word.mvps.org/FAQs/MacrosVBA/FindReplaceAllWithVBA.htm

Merci à tous