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 : Sélectionner tout - Visualiser dans une fenêtre à part
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