syntaxe d'une variable dans la connection d'une base pour un publipostage vba
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:
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...