Pour faire plus simple voici ci-dessous ma macro complète, dont la fonctionnalité est de transmettre un mail avec une pièce jointe via une API d'Emailing (SendGrid).
Lorsque je souhaite envoyer dans le corps du message un mot avec un accent, le mail réceptionné comporte des "�" en lieu et place des accents.
___________________________________
Sub MailViaSenGrid ()
Dim reportName As String
Dim path As String
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Dim oFile As Object
Dim strAttachments As String
Dim strTransPort As String
Dim byteData() As Byte
Dim xmlhttp As Object
Dim eTo As String
Dim eFrom As String
Dim eBody As String
Dim eSubject As String
Dim eToName As String
Dim sReq As String
Dim ePass As String
Dim eUser As String
Dim strXML As String
Dim fePath As String
Dim FileName As String
Dim eBodyFrom As String
Dim CorpsMsg As String,
CorpsMsg ="Ci-joint le rapport mensuel d'optimisation. Sont présents les documents dont les options sont actives :"
CorsMsg = UTF8_Texte(CorpsMsg)
Nom_Pdf = "NomFichier.pdf"
PathPdf = "C:\Documents"
eTo = "
toto@gmail.com"
eFrom = "
Tartampion@gmail.com"
eBody = CorpsMsg
eSubject = "Objet du Message"
eToName = "Monsieur Jean-Pierre DUPONT"
eUser = "Login"
ePass = "PassWord"
FileName = "Rapport Mensuel"
strAttachments = "&files[" & Nom_Pdf]=" & Path_pdf & "\" & Nom_Pdf"
' Call The SendGrid API
sReq = "
https://api.sendgrid.com/api/mail.send.xml?" _
& "api_user=" & eUser _
& "&api_key=" & ePass _
& "&to=" & eTo _
& "&toname=" & eToName _
& "&subject=" & eSubject _
& "&html=" & eBody _
& "&from=" & eFrom _
& strAttachments
Set xmlhttp = CreateObject("MSXML2.XMLHTTP")
xmlhttp.Open "POST", sReq, False
'xmlhttp.en
xmlhttp.send
byteData = xmlhttp.responseBody
Set xmlhttp = Nothing
strXML = StrConv(byteData, vbUnicode)
End sub