Donc voici un essai...
comme ta base est le fichier contenant la macro de publipostage.. je passe par un fichier temporaire qui est mis a jour a chaque exécution du code... sinon je ne sais pas faire...
cela implique que dans ton fichier modèle word, la base source du publipostage doit pointer sur ce fichier source temporaire et plus ton fichier contenant ta macro....
a toi d'adapter les chemins ou se trouve les fichiers et éventuellement le nom du fichier temporaire
NomBase = ThisWorkbook.Path & "\sourcepublipostage.xlsx"
docWord = ThisWorkbook.Path & "\Bon renouvellement bus.docx"
pour le moment j'ai considérer que tous les fichiers étaient dans le même dossier ou se trouve ton fichier exécutant la macro...
dans le code actuel il a la création d'un nouveau fichier word publiposté... il suffit de remplacer le wdSendToNewDocument par wdSendToPrinter pour une impression directe... que je trouve toujours très dangereux car au finale si il y a erreur on imprime des feuilles pour rien...
j'ai aussi simplifier ton core pour le format date... plutôt que de faire ligne par ligne, on peut le faire en une fois...
Fred