Bonjour,
Dans le document Word, j'ai supprimé les 3 signets et je les ai recréé avec les mêmes noms mais un avec un contenu d'un seul mot correspondant au nom du signet.
Pour la macro Excel "Traitements" pour la partie "Select WDocu" / "Case 1"
Contenu transmis dans ton fichier :
Select Case WDocu
Case 1
WDoc = "Attestation de fin de formation.docx"
Set wordapp = CreateObject("word.Application")
Set WordDoc = wordapp.Documents.Open(CheminWO & WDoc)
wordapp.Visible = False
wordapp.ActiveDocument.SaveAs Filename:=VDossier & "\" & WDoc, FileFormat:= _
wdFormatDocument, LockComments:=False, Password:="", AddToRecentFiles:= _
True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:= _
False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
SaveAsAOCELetter:=False
MsgBox Lc
WordDoc.Bookmarks("civilite").Range.Text = VCivilite.Value
'WordDoc.Bookmarks("nom").Range.Text = Cells(Ligne, 2).Value
'WordDoc.Bookmarks("prenom").Range.Text = Range(Ligne, 3).Value
wordapp.ActiveDocument.Close
Set wordapp = Nothing
Case 2
Contenu commenté que j'ai transmis à l'exception des lignes commençant par "'=> Non fait :" qui sont des suggestions que j'ai rajouté en te répondant
Select Case WDocu
Case 1
WDoc = "Attestation de fin de formation.docx"
'=> Non fait : 5 documents sont créés les uns à la suite des autres => L'instruction suivante devrait être en dehors de la boucle "FOR WDocu = 1 To 5" et plus présente dans chaque "Case X", de même la libération de l'objet wordApp, précédée de l'instruction "wordapp.Quit", devrait se faire après le NEXT de la même boucle.
Set wordapp = CreateObject("word.Application")
wordapp.Visible = False
'=> Non fait : comme le doc ouvert est utilisé comme un modèle, je suggère de l'ouvrir en lecture seule
' Set worddoc = wordapp.Documents.Open(FileName:=CheminWO & WDoc, ReadOnly:=True)
Set worddoc = wordapp.Documents.Open(CheminWO & WDoc)
'=> Utilisation de l'objet worddoc pour la manipulation du document créé y compris pour l'enregistrer sous suite à l'ouverture du doc utilisé comme modèle
With worddoc
.SaveAs Filename:=VDossier & "\" & WDoc, FileFormat:= _
wdFormatDocumentDefault, LockComments:=False, Password:="", AddToRecentFiles:= _
True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:= _
False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
SaveAsAOCELetter:=False
'=> Alimentation des signets en utilisant Cells. Cela fonctionne suite à la recréation des signets dans le doc Word
.Bookmarks("civilite").Range.Text = Cells(Ligne, 1).Value
.Bookmarks("nom").Range.Text = Cells(Ligne, 2).Value
.Bookmarks("prenom").Range.Text = Cells(Ligne, 3).Value
'=> Ajout de la sauvegarde du document.
.Save
.Close
End With
Set worddoc = Nothing
Set wordapp = Nothing
Case 2
Cdlt,
Cylfo