Programme excel-VBA pour changer mots (stockés ds excel) dans word signets?

Bonjour,

Cela fait plusieurs semaines que j'essaie de créer un programme VBA-Excel pour changer 6 mots dans un document word en utilisant des signets. Ces 6 mots qui varient en fonction du temps sont stockés dans le ficher excel. Je cherche donc à me re-servir du corps de texte du document word à chaque fois, mais en changeant uniquement 6 mots (qui sont toujours à la même place dans le texte : marque de véhicule, plaque d'immatriculation, etc) qui sont stockés dans excel...

En créant un programme directement dans Word, j'arrive à créer les signets, écrire l'info que je veux dans ces signets, puis à recréer des signets pour ces mêmes mots pour la prochaine utilisation, mais je dois remplir moi-même le contenu de ces signets dans le programme. En fait, je voudrais créer un programme qui tourne dans Excel et qui copie des informations dans ces signets à partir d'info stockés dans excel. Jusqe-là, j'arrive à créer le signets, copier dans word l'info stockée dans excel, mais je n'arrive pas à recréer un signet derrière pour ces 6 mots...

** Programme Word-VBA :

Sub Try1()
Dim RNG1 As Range, RNG2 As Range, RNG3 As Range
Dim RNG4 As Range, RNG5 As Range, RNG6 As Range

'Identify current Bookmark range and insert text
Set RNG1 = ActiveDocument.Bookmarks("BM1").Range
RNG1.Text = "DS"
'Re-insert the bookmark
ActiveDocument.Bookmarks.Add Name:="BM1", Range:=RNG1

Set RNG2 = ActiveDocument.Bookmarks("BM2").Range
RNG2.Text = "DS7"
ActiveDocument.Bookmarks.Add Name:="BM2", Range:=RNG2

Set RNG3 = ActiveDocument.Bookmarks("BM3").Range
RNG3.Text = "AA-789-GG"
ActiveDocument.Bookmarks.Add Name:="BM3", Range:=RNG3

Set RNG4 = ActiveDocument.Bookmarks("BM4").Range
RNG4.Text = "VR000000099999999"
ActiveDocument.Bookmarks.Add Name:="BM4", Range:=RNG4

Set RNG5 = ActiveDocument.Bookmarks("BM5").Range
RNG5.Text = "31/12/2020"
ActiveDocument.Bookmarks.Add Name:="BM5", Range:=RNG5

Set RNG6 = ActiveDocument.Bookmarks("BM6").Range
RNG6.Text = "01/12/2020"
ActiveDocument.Bookmarks.Add Name:="BM6", Range:=RNG6

End Sub

** Programme Excel-VBA :

Sub Try3()
Dim wdApp As Word.Application
Dim wdDoc

Set wdApp = CreateObject("word.application")
Set wdDoc = wdApp.Documents.Open("C:\Users\ProutProutProut\desktop\Prout\Prout\Prout.docx")

With wdApp
.Visible = True
.Activate
End With

Range("A1").Copy

With wdApp
.Selection.GoTo what:=wdGoToBookmark, Name:="BM1"
.Selection.PasteSpecial DataType:=wdPasteText
End With

Application.CutCopyMode = True

End Sub

Si quelqu'un à déjà écris un tel programme, je veux bien qu'il éclaire ma lanterne, je suis à bout d'idées...

Je vous joins mon fichier Excel, le programme que j'ai écris est la Sub "Try3", et mon document Word (Sub "Try1").

Je vous remercie d'avance...

Amis programmeurs, bonsoir...

ProutProutProut.

9excel-word.xlsm (18.66 Ko)

Bonjour

Pourquoi pas tout simplement un cherche et remplace ?

Salut Chris, le pb avec un search/replace est que je suis obligé de conserver en memoire la valeur du dernier changement que j’ai fait, afin de pouvoir refaire un changement de valeur au meme endroit apres...

Rechercher des sujets similaires à "programme vba changer mots stockes word signets"