sasa202 Work hard, play hard ! | Bonjour à tous !
Je suis une novice sur le forum. J'espère que vous seriez indulgent avec moi
Et j'espère surtout que vous pourriez m'aider : j'ai cherché partout pour essayer de comprendre mon blocage mais je ne trouve pas de solution à mon problème.
Je souhaite automatiser mon publipostage depuis un fichier Excel.
Je commence à apprendre le vba seule mais c'est pas si simple... Avec mon code ci dessous, le fchier word s'ouvre mais le publipostage ne se fait pas, je ne comprend pas pourquoi...
Pour info, lorsque j'enregistre et je ferme mon fichier excel puis j'ouvre mon fichier word, le publipostage fonctionne.
Si quelqun pourrait m'aider à comprendre ma faute, ca serait sympa !
Merci d'avance pour ceux qui prendront le temps de me lire et d'essayer de comprendre mon problème.
Code :
- Sub commandButton1_Click()
- Dim NomBase As String
- Dim oWdApp As Object
- 'Lancer Word
- Set oWdApp = CreateObject("Word.Application" )
- With oWdApp
- 'Afficher Word si nécessaire...
- .Visible = True
- 'Ouvrir le document Word
- Set Wordoc = oWdApp.documents.Open("C:\Users\bws229\Desktop\dc1Test.docx" )
- End With
- 'fonctionnalité de publipostage pour le document spécifié
- With docWord.mailMerge
- 'Ouvre la base de données
- .OpenDataSource Name:=NomBase, _
- Connection:="Driver={Microsoft Excel Driver (*.xlsm)};" & _
- "DBQ=" & NomBase & "; ReadOnly=True;", _
- SQLStatement:="SELECT * FROM [Réponses1$]"
- 'Prend en compte l'ensemble des enregistrements
- With .DataSource
- .firstRecord = wdDefaultFirstRecord
- .lastRecord = wdDefaultLastRecord
- End With
- 'Exécute l'opération de publipostage
- .Execute Pause:=False
- Application.ScreenUpdating = True
- 'Fermeture du document Word
- docWord.Close False
- appWord.Quit
- End Sub
|
|