Problème d'automatisation publipostage vba
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 le code VBA ci-dessous, le fchier word s'ouvre mais le publipostage ne se fait pas, je ne comprends 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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| 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 |