La macro suivante enclenche normalement un publipostage à partir d'un "boutonClick dans Excel" :

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
37
38
39
Private Sub commandButton6_Click()
    'Nécessite d'activer la référence "Microsoft Word xx.x Object Library"
    Dim docWord As Word.Document
    Dim appWord As Word.Application
    Dim NomBase As String
 
    NomBase = "C:\Documents and Settings\DonnéesclientTestpubli.xls"
 
    Application.ScreenUpdating = False
    Set appWord = New Word.Application
    appWord.Visible = True
    'Ouverture du document principal Word
    Set docWord = appWord.Documents.Open("C:\Documents and Settings\Trame publipostage_Appels de fond2_Testpubli.doc")
 
    '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 (*.xls)};" & _
        "DBQ=" & NomBase & "; ReadOnly=True;", _
        SQLStatement:="SELECT * FROM [Feuil1$]"
    'Spécifie la fusion vers l'imprimante
    .Destination = wdSendToPrinter
    .SuppressBlankLines = True
        '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
    End With
 
    Application.ScreenUpdating = True
 
    'Fermeture du document Word
    docWord.Close False
    appWord.Quit
End Sub
Cependant la macro ne marche pas et j'obtiens l'erreur suivante : "Impossible d'exécuter la macro "XXXX.xlsm'!Bouton6_Clic'. Il est possible qu'elle ne soit pas disponible dans ce classeur ou que toutes les macros soient désactivées.

Merci de votre aide