Publipostage, automatisation d’une lettre type (Word 2003)
Bonjour,
Pour ceux que cela intéresse :
Il s’agit, à partir d’une base de données Access 2003, d’ouvrir une lettre type contenant des champs connectés à la base de données en faisant appel à une requête de base de données ou à une requête dynamique.
Dans le menu Outils/Références de Visual Basic, activez la référence Microsoft Word 11.0 Object Library.
Saisir le Code :
Code:
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
| Private Sub AutoPublipostage()
'Chemin d'accès au document Word de publipostage
Const LettreType = "C:\Mes_Documents\Lettre_Type.doc"
'Déclaration de la variable de l'Objet Word
Dim WdLettreType As Word.Application
'Partie publipostage
Set WdLettreType = New Word.Application
With WdLettreType
'Ouvrir lettre type
.Documents.Open LettreType
'Lier la lettre type à la source de données Access
.ActiveDocument.MailMerge.OpenDataSource _
Name:=CurrentProject.FullName, _
SQLStatement:="SELECT * FROM [RqtLettreType]" Ou requête dynamique entre guillemet
'La fusion doit se faire sur un nouveau document
.ActiveDocument.MailMerge.Destination = wdSendToNewDocument
'Exécuter la fusion
.ActiveDocument.MailMerge.Execute
End With
Set WdLettreType = Nothing
MsgBox "Publipostage terminé !", vbOKOnly + vbInformation, "Fusion"
End Sub |
Bonne soirée :D