Envoi mail personnalisé
O
Bonjour,
J'ai un tableau Excel avec dans
Colonne A Mr ou Mme
Colonne B le nom de la personne
Colonne C l'adresse mail
J'ai un mail type avec une pièce jointe PDF.
je voudrais automatiser l'envoi de ce mail à toutes les adresses de la Colonne C en personnalisant l'envoi (Mr X ou Mme Y)
Merci de votre aide
Bonjour,
A voir avec ce code, qui doit générer un email avec la signature en brouillon :
Sub mail_outlook()
'utilisation de valeurs inscrites dans des cellules de la feuille 'mail'
Dim OutApp As Object 'Déclaration de l'application objet Outlook
Dim OutMail As Object 'Déclaration du mail objet Outlook
Dim genre As String, i As Integer, dern1 As Integer
'donne la derniére ligne du tableau
'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
' changer 39 par le nom de votre feuille" à tous les endroits concernés
'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
dern1 = Worksheets("39").Range("A" & Rows.Count).End(xlUp).Row
'démarre à 2 pour exclure la ligne des titres
For i = 2 To dern1
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
With OutMail
.To = Worksheets("39").Range("C" & i) 'va chercher le mail
.Subject = "blabla"
.Body = "Bonjour " & " " & Worksheets("39").Range("A" & i) & " " & Worksheets("39").Range("B" & i) "," & vbCrLf & vbCrLf _
& "Vous m'avez fait part blabla... " & vbCrLf _
& "blabla..." & vbCrLf & vbCrLf _
'(donc &" en début de ligne, _ pour aller à la ligne pour voir seulement, " & pour la jonction et vbCrLf (1 fois pour aller à la ligne, 2 fois pour sauter une ligne).
.Attachments.Add ActiveWorkbook.FullName 'Ajoute en pièce-jointe le classeur actif
.Attachments.Add "C:\MonDossier\MonFichier.xlsx" 'Pour ajouter une pièce-jointe à l'email, avec le chemin complet.
.display 'affiche le mail en brouillon dans Outlook, pratique
'pour vérifier avant d'envoyer
'.Send 'envoie directement le mail
'.Save 'sauvegarde le mail
End With
Set OutMail = Nothing 'nettoie la mémoire en nettoyant les variables
Set OutApp = Nothing 'nettoie la mémoire en nettoyant les variables
End SubCdt