Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Envoi mail Outlook depuis Excel

Anto35200

XLDnaute Occasionnel
Bonjour,

Avec le code VBA actuel, je rencontre ces problèmes :
* dans l'objet du mail, il manque le symbole Euro après le montant
* je voudrai inclure le mot "Bonjour," au début du corps du message, puis aller à la ligne.
* dans le corps du message, il manque aussi le symbole Euro après le montant.


En vous remerciant de votre aide.
 

Pièces jointes

  • Envoyer_un_mail_Outlook_depuis_Excel_VBA.xlsm
    25.2 KB · Affichages: 6

Phil69970

XLDnaute Barbatruc
Bonjour @Anto35200
Edit Bonjour @kiki29

Je te propose sur la base de ton code non testé

Edit code modifié à 17h58
VB:
Option Explicit

Private Sub CommandButton1_Click()
Dim LeMail As Variant, strBody$

Set LeMail = CreateObject("Outlook.Application") 'création d'un objet outlouk

With LeMail.CreateItem(olMailItem) ' informe le programme que nous voulons envoyer un mail.
    .Subject = "Confirmation règlement facture pour  " & Range("D7") & " €"
    .To = Range("D5") 'Destinataire du mail
    strBody = Range("D9")
    .Body = strBody & vbCrLf & Range("D11") & Range("D7") & " €"
    .Display 'afficher le mail avant de l'envoyer sinon placer send pour envoyer
End With
End Sub

Merci de ton retour
 
Dernière édition:

Phil69970

XLDnaute Barbatruc
Re

@Anto35200

Voici une autre version qui fonctionne

VB:
Private Sub CommandButton1_Click()

Dim Ws1 As Worksheet
Dim OutApp As Object, OutMail As Object, strBody$

Set Ws1 = Worksheets("Mail")

On Error Resume Next
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)

With OutMail
    .To = Ws1.Range("D5").Value
    .Subject = "Confirmation règlement facture pour  " & Ws1.Range("D7") & " €"
    strBody = Range("D9")
    .Body = strBody & vbCrLf & Ws1.Range("D11") & Ws1.Range("D7") & " €"
    .Display 'afficher le mail avant de l'envoyer sinon placer send pour envoyer
    '.Send
End With

Set OutMail = Nothing: Set OutApp = Nothing
End Sub

Merci de ton retour
 

Anto35200

XLDnaute Occasionnel
J'ai essayé les 2 versions.
Ces 2 versions n'ont toujours pas de saut de ligne après "Bonjour".

Version 2 :

Private Sub CommandButton1_Click()

Dim Ws1 As Worksheet
Dim OutApp As Object, OutMail As Object, strBody$

Set Ws1 = Worksheets("Mail")

On Error Resume Next
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)

With OutMail
.To = Ws1.Range("D5").Value
.Subject = "Confirmation règlement facture pour " & Ws1.Range("D7") & " €"
strBody = Range("D9")
.Body = strBody & Chr(13) & Chr(10) & Ws1.Range("D11") & Ws1.Range("D7") & " €"
.Display 'afficher le mail avant de l'envoyer sinon placer send pour envoyer
'.Send
End With

Set OutMail = Nothing: Set OutApp = Nothing
End Sub
 

Discussions similaires

Réponses
1
Affichages
137
Compte Supprimé 979
C
Réponses
12
Affichages
259
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…