Mail à partir d'Excel - Corps du message
Cher Tous,
J'ai lu sur ce topic que l'on pouvais envoyer des mails via Outlook depuis Excel :
https://forum.excel-pratique.com/cours-astuces/excel-outlook-envoi-mail-t29003-10.html
(au passage mille mercis pour ce code fabuleux)
J'ai donc adapté le code a mon fichier et voila ce que sa donne
'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 = "K:\Notes de débit interne\2013\Frais de Holding - 3eme Acompte\frais convention 2013 3eme acompte.xlsm"
If Nom_Fichier = "" Then Exit Sub
'---------------------------------------------------------
With oBjMail
.To = "lui@gmail.com" ' le destinataire
.CC = "lui-aussi@gmail.com; elle@hotmail.com" 'Ces bons à rien de Patron
.Subject = "Frais de Holding - 3eme Acompte" ' l'objet du mail
.Body = "Bonjour, Ci-joint le troisieme acompte pour les Holding Fees. Cordialement" '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
Set oBjMail = Nothing
Set ObjOutlook = Nothing
End Sub
Le code fonctionne, le mail arrive a destination nickel, le seul petit hic c'est qu'au lieu de :
Bonjour, Ci-joint le troisième acompte pour les Holding Fees. Cordialement
J'aimerais bien :
Bonjour,
Ci-joint le troisième acompte pour les Holding Fees.
Cordialement
Comment mettre en forme le corps du message ? je n'arrive pas à faire des sauts de ligne, j'ai appuyer sur le bouton entrer, ce fut la castrophe
Merci pour votre aide.
Cordialement
Bonjour
remplace
.Body = "Bonjour, Ci-joint le troisieme acompte pour les Holding Fees. Cordialement"
par
.Body = "Bonjour, Ci-joint le troisieme acompte pour les Holding Fees." & Chr(10) & Chr(10) & "Cordialement"
Cordialement
Bonsoir,
Tu as aussi la possibilité de mettre : vbCrLf
ce qui donne:
.Body = "Bonjour," & vbCrLf & "Ci-joint le troisieme acompte pour les Holding Fees." & vbCrLf & vbCrLf & "Cordialement"
@Amadéus, merci à toi pour ton aide
@Sam20102, merci également pour ton concours
J'en profite, j'ai deux petites questions qui me travaillent pour ce code.
1)
'---------------------------------------------------------
'Ou bien entrer le path et nom du fichier autrement
Nom_Fichier = "K:\Notes de débit interne\2013\Frais de Holding - 3eme Acompte\frais convention 2013 3eme acompte.xlsm"
If Nom_Fichier = "" Then Exit Sub
Etant donner que le fichier contenant la macro et le fichier à envoyer par mail ce trouveront à chaque fois dans le meme repertoire, plutôt que de devoir réécrire à chaque fois "K:\Notes de débit interne\....", n'y aurais t'il pas un moyen de lui dire "Répertoire local\frais convention 2013 3eme acompte.xlsm" ?
2)
Je m'y connais pas en VBA, mais en regardant les cours proposé j'ai compris que la fonction se terminait par la valeur
End Sub
Alors novice comme je suis, je me suis dis que si en exécutant la macro je souhaiterais envoyer 2 mails plutôt qu'un, il suffirait de copier-coller la macro en dessous, et de changer les variables (destinataires, objets, ect..), cela ne marche pas,
Dois-je remplacer ce fameux End Sub par quelque chose ?
Encore merci pour votre concours.
Bonsoir,
1. Avec
thisworkbook.path & "\" & "lenomdufichier.xlsm"
La ligne
If Nom_Fichier = "" Then Exit Sub
ne sert à rien puisque la condition sera ici toujours fausse.
Idem pour le Display ou Send. C'est l'un ou l'autre mais les 2 ça ne sert pas à grand chose ici.
2. Qu'est ce qui change dans votre second mail ??
Cdt,
Darzou
Bonjour Darzou
Dans les autres mails, tout est identique, sauf le destinataire et la pièce jointe.
L'objet, les destinataires en copie et le corps du message sont identiques.
Cordialement
Bonsoir,
Une âme charitable pour m'aider sur ma requête ?
Mille mercis a vous !