PREREQUIS
un doc word qui est un doc de publipostage (ex proposition.doc)
source de données = une requete dans access (ex Rpropal)
CODE
Public Sub monprogramme(mondoc As String, mondossier As Integer)
Dim wdApp As Word.Application
Dim strCheminDoc As String
Dim strSQL As String
' Chemin du document Word à ouvrir
strCheminDoc = "c:\" & mondoc
strSQL = "SELECT * FROM `RPropal` where `numdossier` =" & mondossier & " order by numdossier DESC"
' Démarrer Word
Set wdApp = New Word.Application
With wdApp
' Rendre Word visible pour faciliter la mise au point
.Visible = True
' Ouvrir le document de publipostage
.Documents.Open strCheminDoc
' Paramétrer le publipostage
With .ActiveDocument.MailMerge
.OpenDataSource Name:=CurrentProject.FullName, SQLStatement:=strSQL, ReadOnly:=True
' Diriger le publipostage vers un nouveau document
' plutôt que vers l'imprimante
.Destination = wdSendToNewDocument
' Lancer la fusion
.Execute
End With
' Sauvegarder le document fusionné
.ActiveDocument.SaveAs FileName:="M:\devis\" & mondossier & ".doc"
' Quitter Word
.Quit SaveChanges:=wdDoNotSaveChanges 'on ne change pas le doc principal de fusion
End With
' Fermer et libérer les objets
Set wdApp = Nothing
End Sub