bonsoir
je ne suis pas sur d'avoir bien compris , mais cette macro Word permer d'utiliser les outils de publipostage pour envoyer un mailling , en ajoutant une piece jointe externe
dans cet exemple les adresses mails sont dans le champ "champMail"
Sub publipostageMailing_WordVBA_avecPieceJointe()
'MichelXld le 03.03.2006
'Utilisez cette procédure Word apres avoir créé et mis en forme votre document principal.
'C'est la macro qui va boucler sur tous les enregistrements de la base de données
'puis envoyer les mails et y ajouter une pièce jointe .
'Cet exemple ne prend pas en compte les filtres eventuels dans le publipostage .
'
'Necessite d'activer la reference Microsoft Outlook xx.x Object Library
'
Dim outApp As Outlook.Application
Dim oItem As Outlook.MailItem
Dim leSujet As String, leDestinataire As String
Dim i As Integer
Set outApp = CreateObject("Outlook.Application")
leSujet = "Essai de publipostage VBA avec pieces jointes"
'Afficher le 1er enregistrement du publipostage
ActiveDocument.MailMerge.DataSource.ActiveRecord = wdFirstRecord
'boucle sur tous les enregistrements de la base de données
For i = 1 To ActiveDocument.MailMerge.DataSource.RecordCount
'récupération des adresses mail qui sont dans le champ "champMail"
leDestinataire = ThisDocument.MailMerge.DataSource.DataFields("champMail").Value
Set oItem = outApp.CreateItem(olMailItem)
With oItem
.Subject = leSujet
.Body = ThisDocument.Content '
.To = leDestinataire
'ajout d'un fichier attaché
.Attachments.Add "C:\maPieceJointe.txt"
.Send 'envoi du mail
End With
'pour passer à l'enregistrement suivant
ActiveDocument.MailMerge.DataSource.ActiveRecord = wdNextRecord
Set oItem = Nothing
Next i
Set outApp = Nothing
End Sub
bonne soiree
michel