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, pourriez-vous m'aiguiller de façon a ce que je puisse enchaîner dans la même macro, le code pour un second mail, voir un troisième, le tout dans la même macro

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 !

Rechercher des sujets similaires à "mail partir corps message"