Aide modification de signets word avec Excel

Bonjour a tous.

étant débutant dans le VBA , je viens solliciter votre aide.

je cherche a faire ce qui suit :

dans un doc word (model) j'ai 13 signets que je souhaite remplacer avec excel.

le texte de remplacement des signets se trouve sur la même ligne ( de B5 à N5 )

je souhaite qu'avec un bouton + macro, excel remplace les signets word et enregistre le nouveau fichier "Doc_modifié.docx" sans toucher le Doc Model.

j’espère que c'est claire pour une éventuelle aide de votre part.

Cordialement

Bonjour alpharender et bienvenue sur le forum,

voici un exemple

Sub Test_rename_Bookmarks()
'nécessite la référence à Microsoft Word xx.x Object Library
Dim objWord As New Word.Application
Dim strPath As String, strFichier As String, col As Integer

' remplacement des signets se trouve sur la même ligne ( de B5 à N5 )
col = 2
strPath = "C:\Users\isabelle\Documents\Test1\" 'à adapter
strFichier = strPath & "signet test.docx"      'à adapter

' ouvrir un document Word
objWord.Documents.Open strFichier
objWord.Visible = True

For Each oBookmark In objWord.ActiveDocument.Bookmarks
    oBookmarkNewName = Cells(5, col)
    objWord.ActiveDocument.Bookmarks.Add Name:=oBookmarkNewName, Range:=oBookmark.Range
    oBookmark.Delete
    col = col + 1
Next oBookmark

objWord.ActiveDocument.SaveAs2 Filename:=strPath & "Doc_modifié.docx", FileFormat:=wdFormatDocument
objWord.ActiveDocument.Close
End Sub

Merci, je test ce soir,

ou est ce que tu déclare chaque une case pour chaque signet ?

<Merci>

Merci, je test ce soir,

est ce que le test est concluant ?

Bonsoir,

Non, j'ai un message Nom de signet incorrect.

Mais j'ai adapté un code a ma problématique et ce dernier marche très bien.

je partage le code qui modifie les signets par le contenue d'une cellule et enregistre un nouveau DOC sans la modification du fichier model

Sub EcritVersSignet()
Dim LaLettre As String
Dim LeMontant
Dim LeTexte2
Dim ObjWord As Word.Application
Dim LeDocWord As Word.Document

On Error Resume Next

LaLettre = ThisWorkbook.Path & "\lettre.doc"
Set ObjWord = CreateObject("Word.Application")
ObjWord.Visible = True
Set LeDocWord = ObjWord.Documents.Open(LaLettre)
LeMontant = [A1]
LeTexte2 = [A2]
With LeDocWord
'Le nom du signet dans le document word est ici "Monsignet"
.Bookmarks("Monsignet").Range.Text = LeMontant
'Le nom du signet dans le document word est ici "Monsignet2"
.Bookmarks("Monsignet2").Range.Text = LeTexte2
End With

'Pour enregistrer le document et quitter Word
'LeDocWord.Save
'ObjWord.Quit

Set ObjWord = Nothing
End Sub

1000 merci a vous

Rechercher des sujets similaires à "aide modification signets word"