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: 8

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
 

Anto35200

XLDnaute Occasionnel
voici le résultat que j'ai :



1701783803311.png
 

Discussions similaires

Réponses
1
Affichages
296
Compte Supprimé 979
C
Réponses
12
Affichages
467
Réponses
2
Affichages
574

Statistiques des forums

Discussions
314 422
Messages
2 109 447
Membres
110 482
dernier inscrit
ilyxxxh