Remplacer Texte par un champ VBA

Le
DesseJ
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.

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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Anacoluthe
Le #1782410
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

Geo
Le #1782409

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+

DesseJ
Le #1782391
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.
Publicité
Poster une réponse
Anonyme