clarouche33
XLDnaute Nouveau
Bonjour !
Je fais une macro sur excel afin de copier des valeurs contenues dans ma feuille "M19" de mon classeur PACKE_Test.xlsm, dans les signets correspondants de mon docuement word PACKW_Test.docm contenu dans le meme dossier. Le but ensuite est d'enregistrer un nouveau word avec les signets remplis sous le nom PACKW_Test19.doc
J'avais fait l'essai de mon code sur deux fichiers plus petits (mais sur le meme principe) et celui ci fonctionnait parfaitement.
Avec ces fichiers-ci, les signets du word se complétent tous mais j'ai une "Erreur 1004 : la méthode Range de l'objet Worksheet a échoué" au niveau de ma ligne de code remplissant les signets, et le code s'arrêtant, mon nouveau word ne s'enregistre pas.
Savez vous comment je peux procéder ?
Merci !
ci joint mon code :
Je fais une macro sur excel afin de copier des valeurs contenues dans ma feuille "M19" de mon classeur PACKE_Test.xlsm, dans les signets correspondants de mon docuement word PACKW_Test.docm contenu dans le meme dossier. Le but ensuite est d'enregistrer un nouveau word avec les signets remplis sous le nom PACKW_Test19.doc
J'avais fait l'essai de mon code sur deux fichiers plus petits (mais sur le meme principe) et celui ci fonctionnait parfaitement.
Avec ces fichiers-ci, les signets du word se complétent tous mais j'ai une "Erreur 1004 : la méthode Range de l'objet Worksheet a échoué" au niveau de ma ligne de code remplissant les signets, et le code s'arrêtant, mon nouveau word ne s'enregistre pas.
Savez vous comment je peux procéder ?
Merci !
ci joint mon code :
VB:
Sub Remplir_Pack()
Dim wsX As Worksheet
Dim WordApp As Word.Application
Dim WordDoc As Word.Document
Set WordApp = CreateObject("Word.Application")
WordApp.Visible = True
Dim FichierWord As String
FichierWord = "P:\SDPL\SLF\Logement Social\BEPPS\Clara\PACKW_Test.docm"
Set WordDoc = WordApp.Documents.Open(FichierWord)
Dim BM As Word.Bookmark
Dim repertoire As String
Dim DocName As String
Set wsX = ThisWorkbook.Worksheets("M19")
' Remplir Signet :
For Each BM In WordDoc.Bookmarks
BM.Range.Text = wsX.Range(BM.Name).Text 'ICI : ERREUR 1004'
Next BM
'Enregistrer nouveau fichier Word
repertoire = ThisWorkbook.Path
repertoire = repertoire & "\"
DocName = "Pack_Test19.doc"
WordDoc.SaveAs Filename:=repertoire & DocName
End Sub