Bonjour,
malgré la lecture assidue de nombreux sujets publiés par Silkyroad(et d'ailleurs merci à lui) sur les publipostage pour Word à partir de Excel, je bute sur un problème de syntaxe sur l'utilisation de variable dans la connexion de la base:
en reprenant l'enregistrement de la macro faite dans word, j'ai souhaité remplacer le chemin de la base par une variable et la choix de la feuille source par une autre; le blocage se fait au niveau de la feuille source; quelque soit l’écriture (avec replace pour les guillemets, etc.), je ne parviens pas à me connecter; je précise que si j'écris en dur la feuille source, la variable du nom de la base permet d’accéder à la base: il n'y a donc qu'un souci avec la syntaxe de la variable de la feuille source.
voici le code:
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
With docWord.MailMerge
        .OpenDataSource Name:=NomBase _
        , ConfirmConversions:=True, ReadOnly:=False, LinkToSource:=True, _
        AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", _
        WritePasswordDocument:="", WritePasswordTemplate:="", Revert:=False, _
        Format:=wdOpenFormatAuto, Connection:= _
        "Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=NomBase;Mode=Read;Extended Properties=""HDR=YES;IMEX=1;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OL" _
        , SQLStatement:="SELECT * FROM `'Clients_factures$'`", _
        SQLStatement1:="", SubType:=wdMergeSubTypeAccess
        
        'Spécifie la fusion vers un nouveau document
        .Destination = wdSendToNewDocument
        .SuppressBlankLines = True
            'Prend en compte l'ensemble des enregistrements
            With .DataSource
                .FirstRecord = wdDefaultFirstRecord
                .LastRecord = wdDefaultLastRecord
            End With
bien sûr, c'est client_factures$ que je cherche à remplacer.
merci par avance aux dévoués...