harry le ravi | Pour ceux que ca interresse, j'ai trouvé mon bonheur:
MailMerge fonctionne avec un range: un enregistrement de début et un enregistrement de fin
Il suffit de spécifier que l'enregistrement de début est l'enregistrement de fin par cette commande:
objDoc.MailMerge.DataSource.FirstRecord = objDoc.MailMerge.DataSource.lastrecord
Voici le code entier:
Code :
- NomBase = "chemin d'acces\fichier.xls"
- DocWord = "chemin d'acces\fichier.doc"
- Set appWord = CreateObject("Word.Application" )
- appWord.Visible = False
- Set objDoc = appWord.Documents.Open(DocWord)
- objDoc.mailMerge.OpenDataSource NomBase, 4, False, True, False, False, "", "", True, "", "", "Driver={Microsoft Excel Driver (*.xls)};", "SELECT * FROM [Feuille$]"
- objDoc.mailMerge.Destination = 1
- objDoc.MailMerge.DataSource.FirstRecord = objDoc.MailMerge.DataSource.lastrecord
- objDoc.mailMerge.Execute Pause=False
- appWord.documents.Close False
- appWord.Quit
|
Le plublipostage prends tout les enregistrements de la feuille provenant du fichier excel et de mannière invisible, il lance l'impression du publipostage du dernier enregistrement puis il ferme les docs word ouverts sans sauvegarder. |