Emailing avec PJ personnalisée

Bonjour le forum,

J'ai récupéré sur le net un moyen d'envoyer via outlook une pièce jointe identique via une macro. Elle propose également la méthode pour une pj personnalisée. La PJ reprend le nom et le prénom du mail puis ajoute l'extension PDF par exemple. C'est idéal dans un intranet ou la nomenclature des mails est identique mais ce n'est pas possible quand les mails sont de serveurs différents (free, laposte, numéricable, ...)

Comment paramétrer dans la macro suivante la récupération du nom et du prénom qui se trouve dans ma base de données afin de construire un fichier nommé in finé nom prénom contrat 2016.pdf ?

Merci d'avance pour vos éventuelles contributions...

Voici la macro : (la partie PJ identique de cette macro ne m'intéresse pas mais j'ai laissé la macro complète volontairement)

Pour ThisOutlooksession

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)

'by oliv 05/02/2007 - Corrigée par Patricia et Pascale le 15/04/2013'

'Pour publipostage avec PJ OUTLOOK IDENTIQUE POUR TOUS LES MAILS ou INDIVIDUELLE PAR DESTINATAIRE

If Item.Class = olMail Then

Dim objCurrentMessage As MailItem

Set objCurrentMessage = Item

If UCase(objCurrentMessage.Subject) Like "*PUBLIIDEM*" Then

On Error Resume Next

'Pour ajouter la même PJ à tous

Dim i As Long

i = 0

If publipostagePJ <> "" Then

While publipostagePJ(i) <> "fin"

objCurrentMessage.Attachments.Add Source:=publipostagePJ(i)

i = i + 1

Wend

End If

'On supprime le terme PUBLIIDEM du sujet

objCurrentMessage.Subject = Replace(objCurrentMessage.Subject, "PUBLIIDEM ", "")

ElseIf UCase(objCurrentMessage.Subject) Like "*PUBLIPERSO*" Then

'Pascale : chemin complet et extension pièce (le fichier doit être nommé avec l'adresse mail du destinataire)

docperso = "C:\Users\Patricia\Desktop\PJ\" & objCurrentMessage.To & ".pdf"

objCurrentMessage.Attachments.Add Source:=docperso

'On supprime le terme PUBLIPERSO du sujet

objCurrentMessage.Subject = Replace(objCurrentMessage.Subject, "PUBLIPERSO ", "")

'On sauvegarde le mail

objCurrentMessage.Save

End If

Set objCurrentMessage = Nothing

End If

End Sub

Pour le module

Public publipostagePJ As Variant

Sub setPublipostage()

On Error Resume Next

If publipostagePJ(0) = "" Then publipostagePJ = Array("fin", "fin", "fin", "fin", "fin", "fin", "fin", "fin", "fin", "fin")

While publipostagePJ(i) <> "fin"

contenu = contenu & vbCr & publipostagePJ(i)

i = i + 1

Wend

If contenu = "" Then contenu = "vide"

modifier = MsgBox(contenu & vbCr & "Voulez vous modifier les fichiers ?", vbYesNo, "Fichiers paramétrés")

If modifier = vbYes Then

For i = 0 To 9

If i > 0 Then encore = MsgBox("un autre ?", vbYesNo)

quest:

If encore <> vbNo Then

PJ = InputBox("Emplacement du fichier joint au PUBLIPOSTAGE?", _

"Paramétrage du PUBLIPOSTAGE pour la session", publipostagePJ(i))

If "" = Dir(PJ, vbNormal) Then GoTo quest

publipostagePJ(i) = PJ

Else: Exit For

End If

Rechercher des sujets similaires à "emailing personnalisee"