Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Remplacer Texte par un champ VBA

3 réponses
Avatar
DesseJ
Bonjour =E0 tous,

Je dois dans remplacer un mot par un champ Si dans une s=E9rie de
documents en VBA. Pour parcourir et agir sur chacun, c'est OK.
En revanche, je ne vois pas trop comment formuler le remplacement
(ligne Replacement.Text ) pour mettre le champ n=E9cessaire.

Merci pour votre aide, bonne journ=E9e
Steph. D.

With MyRange.Find
=2EClearFormatting
=2EReplacement.ClearFormatting
=2EText =3D "MotARemplacer"
=2EReplacement.Text =3D MonChamp
=2EExecute Replace:=3DwdReplaceAll ' peut =EAtre la raison
End With

3 réponses

Avatar
Anacoluthe
Bonjour !

'DesseJ' nous a écrit ...
Je dois dans remplacer un mot par un champ Si dans une série de
documents en VBA. Pour parcourir et agir sur chacun, c'est OK.
En revanche, je ne vois pas trop comment formuler le remplacement
(ligne Replacement.Text ) pour mettre le champ nécessaire.

Merci pour votre aide, bonne journée
Steph. D.

With MyRange.Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = "MotARemplacer"
.Replacement.Text = MonChamp
.Execute Replace:=wdReplaceAll ' peut être la raison
End With



Public Sub RemplacerTexteParChamp()
Dim T As String, C As String, myRange As Range
T = "MotARemplacer" ' texte à remplacer
C = "REF bidule" ' texte du champ sans les {}
Set myRange = ActiveDocument.Content
With myRange.Find
.ClearFormatting
.Text = T
.Forward = True
Do While .Execute
myRange.Fields.Add myRange, Type:=wdFieldEmpty, Text:=C
Loop
End With
End Sub

Anacoluthe
« Bienheureux les travailleurs des champs. »
- VIRGILE

Avatar
Geo

Bonjour à tous,

Je dois dans remplacer un mot par un champ Si dans une série de
documents en VBA. Pour parcourir et agir sur chacun, c'est OK.
En revanche, je ne vois pas trop comment formuler le remplacement
(ligne Replacement.Text ) pour mettre le champ nécessaire.


Une proposition :
Mettez ce champ quelque part dans ce document ou un autre uniquement
pour pouvoir le copier dans le presse-papier.
Vous pouvez même le faire par macro si vous voulez.

Et faites ensuite le remplacement par le contenu du presse-papier.
ce qui se traduit par : .Replacement.Text = "^c"

--
A+

Avatar
DesseJ
Bonjour Anacoluthe et Géo, ainsi que les autres lecteurs,

Un grand MERCI pour votre aide qui m'a permis de terminer le projet
pour nos secrétaires.

Je vous souhaite un bon week-end,
Cordialement,
Steph. D.