Bonjour !

Je patine avec un process basique sans doute mais je ne suis pas tres doué en vba ni en access alors, c'est sans doute evident pour nombre d'entre vous...
Voici le principe.
Dans une BD, une table parametre contient un champ "repertoire" et un champ "nom de fichier" pour passer des infos de localisation des fichiers pour publiposter.
Dans mon application, une requete ajout alimente une table vidée au préalable des informations permettant de faire un publipostage vers word de courriers individuel.
Tout fonction bien mais comme les noms des modèles de courriers et les emplacements devaient variés, j'ai voulu "parametrerces informations.

Voici le code actuel :

rivate Sub Courrier1_WD_Click()

DoCmd.SetWarnings False
DoCmd.RunSQL "DELETE * FROM ELEM_courrier_salarié;"
DoCmd.SetWarnings True

Dim qdf As DAO.QueryDef
Dim rcs As DAO.Recordset
'référence à la requête
DoCmd.OpenQuery "R_A_Table_Elem_Courrier_Salarié", , acReadOnly

Set qdf = Nothing

'Fusion avec le courrier par appel de la fonction qui est déclarée dans le module publipostage (merge it())
MergeIt

End Sub

--- Dans le module voici la fonction mergeit()

Sub MergeIt()

On Error GoTo Err_MergeIt

Dim objWord As Object
Set objWord = CreateObject("Word.Application")
'Attention le nom du courrier doit bien etre en .docx ou .doc selon version word !!!
'les valeurs viennent du fichier parametre via la requete de creation de la table d'édition

Set objWord = GetObject("C:\softbil\Courrier_salarié_1.docx", "Word.Document")
objWord.Application.Visible = True
' Sélectionne .la base de données comme source de données pour la fusion (attention le chemin est fixé c'est ça qui est à modifier !
objWord.MailMerge.OpenDataSource _
Name:="C:\softbil\V6 data.mdb", _
LinkToSource:=True, _
Connection:="TABLE ELEM_courrier_salarié", _
SQLStatement:="SELECT * FROM [ELEM_courrier_salarié]"
' Exécution de la fusion.
objWord.MailMerge.Execute
Set objWord = Nothing

Exit_MergeIt:
Exit Sub

Err_MergeIt:
MsgBox Err.description
Resume Exit_MergeIt

End Sub



----

Bon voilà l'idée c''est récuperer les valeurs de "repertoire" et de "nom du courrier" que j'ai dans la table ELEM_courrier_salarié crée par ma requete ajout pour faire que le reperoire et nom du courrier (actuellement ficgés dans le module) puissent etre changés par l'utilsiateur dans le fichier parametre ...

Plus dur a expliquer qu'a faire sans doute...
Je vous remercie d'avance de vos coups de main !