# Publipostage automatique Excel vers Word



## Inkospor (18 Septembre 2014)

Bonjour à tous,

Je me permets de vous écrire ce jour et de m'être inscris sur ce forum car je rencontre des problèmes pour l'écriture d'un code va sous Mac Office 2011. Je suis en train de créer un tableau excel pour ma femme afin qu'elle puisse gérer une petite comptabilité. Il y a plusieurs feuilles dans mon document excel dont une, la feuille Facturation, qui lui servira à sortir des facture par Publipostage à l'aide de Word. Cette feuille contient plusieurs colonnes (Nom de famille, Prenom, non de l'enfant, adresse, etc...). A l'aide des différentes sources que j'ai pu trouver sur le net, j'ai réussi à automatiser mon publipostage. Par contre je rencontre un probleme depuis plusieurs jours que je n'arrive pas à regler. Lors de l'ouverture de Word, je dois quand meme cliquer sur "ok" afin de sélectionner la feuille ou se trouve les données. Comment faire en sorte que cela soit automatique? (De ce que j'ai pu lire sur internet, il peut s'agir d'un problème concernant mon type de connexion a la base, dde, oleb, etc... J'ai testé plusieurs codes mais impossible de faire fonctionner).

Voici mon code:


```
NomBase = "Macintosh HD:Users:jordan:Desktop:Docs:Maman de jour Lydia:Lydia - Compta maman de jour.xls"
docWord = "Macintosh HD:Users:jordan:Desktop:Docs:Maman de jour Lydia:Lydia - Facturation.docx"

Application.ScreenUpdating = False
ActiveWorkbook.Save
MyAppID = Shell("Macintosh HD:Applications:Microsoft Office 2011:Microsoft Word.app:Contents:MacOS:Microsoft Word", vbHide)
AppActivate MyAppID
Documents.Open Filename:="Macintosh HD:Users:jordan:Desktop:Docs:Maman de jour Lydia:Lydia - Facturation.docx", ConfirmConversions:=True
ActiveDocument.MailMerge.OpenDataSource NomBase, 4, False, True, False, False, "", "", True, "", "", "Driver={Microsoft Excel Driver (*.xls)};", "SELECT * FROM [Facturation]"
ActiveDocument.MailMerge.Destination = 1
ActiveDocument.MailMerge.DataSource.FirstRecord = ActiveDocument.MailMerge.DataSource.LastRecord
ActiveDocument.MailMerge.Execute Pause = False
Application.ScreenUpdating = True
ActiveDocument.Close False

End Sub
```

Je vous remercie deja pour vos réponse et vous souhaite une excellente journée.

Inkospor.


----------

