XL 2016 Envoi mail Outlook depuis Excel

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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:
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
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
307
Réponses
1
Affichages
364
Compte Supprimé 979
C
Réponses
2
Affichages
721
Retour