Publipostage erreur 13 et non fermeture de dossier XL
Bonjour à tous,
Réel amateur débutant en VBA, j'ai réussi à créer un publipostage de ma base de données Excel vers Word à l'aide de macros.
(de mon fichier "données.xls", je crée une copie "Excel_FUSION.xls" (puis fermeture automatique du répertoire XL)/(ouverture physique de Word), référence à mon programme "Word PUBLIPOSTAGE.doc" via la macro)
En voulant "automatiser" le passage d'excel à word, j'ai inclus un programme d'ouverture de mon projet Publipostage de Word dans XL ... puis une fonction autoopen dans word.
Programme dans Excel :
- Dim doc, wordapp
Set wordapp = CreateObject("Word.application")
wordapp.ShowMe
wordapp.Visible = True
Set doc = wordapp.documents.Open("C:\Users\bibi\Bureau\Trame PUBLIPOSTAGE.doc")
wordapp.Activate
Application.Quit
Workbooks("Excel_FUSION.xls").Save
Workbooks("Excel_FUSION.xls").Close
End Sub
Programme de l'autoopen dans Word :
- Sub Autoopen()
Dim docDP As Document
Set docDP = ActiveDocument
ActiveDocument.Activate
With ActiveDocument.MailMerge
.Destination = wdSendToNewDocument
.SuppressBlankLines = True
With .DataSource
.FirstRecord = ActiveDocument.MailMerge.DataSource.ActiveRecord
.LastRecord = ActiveDocument.MailMerge.DataSource.ActiveRecord
End With
.Execute Pause:=False
docDP.Close wdDoNotSaveChanges
End Sub
C'est là que les problèmes apparaissent... avec notamment :
1- une annonce d'erreur d'incompatibilité de type 13
2 - un surlignage en jaune systématique dans excel de la ligne : Set doc = wordapp.documents.Open("C:\Users\bibi\Trame PUBLIPOSTAGE.doc")
3- l'impossibilité de fermer le fichier "source.xls", qui semble "tourner sans arrêt" et sans passer par une boite de dialogue "voulez enregistrer les modif..."*
Mes codes sont certainement truffés d'erreurs et de choses inutiles... merci de vos lumières.
Je me pose également la question dans de savoir s'il faut cocher dans les "Réferences VBA- Project" la case "Microsoft Word 16.0 Objet Library" dans Excel... et "Excel 16.0 Objet Library" dans word ?
d'autres questions à venir je pense avec ce post..
Merci par avance de vos contributions
Toujours à la recherche de résolution de cette erreur 13... sur la ligne :
Set doc = wordapp.documents.Open("C:\Users\bibi\Bureau\Trame PUBLIPOSTAGE.doc")
J'ai enlevé "Set doc =".... mon programme ne fonctionne pas plus mal.... je suis passé d'une erreur 13 à une erreur d’exécution 9...
Je ne sais pas si c'est mieux....
après avoir enlver "set doc = "
j'ai mis deux ' devant :
Workbooks("Excel_FUSION.xls").Save
Workbooks("Excel_FUSION.xls").Close
et plus d'erreur 9.... problème résolu...