Bonjour,
J'ai trouvé une super macro qui permet d'envoyer en automatique un classeur tout prêt. Je veux svp lui rajouter des fonctions en boucle, afin qu'elle puisse elle même chercher le chemin du fichier et le destinataire. j'ai une liste de mailing que vous trouverez ci-joint avec en colonne A la liste des pays, colonne B la liste des emails, et en colonne C le chemin des fichier. Et donc l'idée est que la macro cherche pour le pays en A4 le destinataire B4 et envoie le fichier en C4, ainsi de suite pour le reste de la liste. Merci d'avance pour vos aides précieuses !
'Il faut activer la référence "Microsoft Outlook Library" Avant de lancer cette macro,
' Dans l'éditeur VBA: Faire Menu / Tools / Reference / Cocher "Microsoft Outlook Library"
Sub Envoyer_Mail_Outlook()
Dim ObjOutlook As New Outlook.Application
Dim oBjMail
Dim Nom_Fichier As String
Set ObjOutlook = New Outlook.Application
Set oBjMail = ObjOutlook.CreateItem(olMailItem)
'---------------------------------------------------------
'Exemple pour envoyer un classeur en pièce jointe
'Nom_Fichier = Application.GetOpenFilename("Fichier excel (*.xls;*.xlsx;*.xlsm), *.xls;*.xlsx;*.xlsm")
'If Nom_Fichier = "Faux" Then Exit Sub
'---------------------------------------------------------
'Ou bien entrer le path et nom du fichier autrement
Nom_Fichier = "C:\Chemin\NomFichier.ext"
If Nom_Fichier = "" Then Exit Sub
'---------------------------------------------------------
With oBjMail
.To = "LeClient@gmail.com" ' le destinataire
.Subject = "Ici c'est l'objet" ' l'objet du mail
.Body = "Ici le texte du mail " 'le corps du mail ..son contenu
.Attachments.Add Nom_Fichier '"C:\Data\essai.txt" ' ou Nomfichier
.Display ' Ici on peut supprimer pour l'envoyer sans vérification
.Send
End With
ObjOutlook.Quit
Set oBjMail = Nothing
Set ObjOutlook = Nothing
End Sub
Cordialement,
Hajar