OVH Cloud OVH Cloud

mettre en forme le body d'un mail cree via VBA

1 réponse
Avatar
zazou
Bonjour,

Je cree des mails sur mon Outlook a partir d'une macro
sous VBA, mais je ne sais pas mettre en forme (changer la
police d'ecriture, la taille ou la couleur) le corps du
mail,

auriez vous des conseils svp. ??

Merci beaucoup

Zazou

1 réponse

Avatar
Pascal Engelmajer
Salut,
Il faut utiliser du HTML :
Option Explicit
' .Attachments 'représente toutes les pièces jointes de l'élément
' .AlternateRecipientAllowed 'Cette propriété a la valeur True
' 'si le message électronique peut être transféré.
' .BCC 'copie carbone invisible
' .Body 'corps du message
' .CC 'copie carbone
' .DeferredDeliveryTime 'définit la date et l'heure
' 'aux quelles le message électronique doit être
remis
' .ExpiryTime 'définit la date et l'heure de fin de validité de
l'élément
' 'auxquelles il sera possible de le supprimer
' .HTMLBody 'Définit le corps HTML de l'élément.
' 'La propriété HTMLBody doit être une chaîne HTML.
' .Importance 'définit le niveau d'importance relatif de l'élément
Outlook.
' 'Il peut s'agir de l'une des constantes
' 'OlImportance suivantes :
' 'olImportanceHigh(2),
' 'olImportanceLow(0)
' 'ou olImportanceNormal(1)
' .To 'définit la liste délimitée par des points-virgules des noms
complets
' 'des destinataires À de l'élément Outlook.
' 'Cette propriété contient uniquement les noms complets.
Const olMailItem = 0 'en l'absence de référence Microsoft Outlook (9.00
Object Library par ex.)
Sub SendEMailOB()
'en A1 le destinataire
'en A2 l'objet du message
'en A3 le corps du message
'en A4 le fichier joint
Dim ol As Object
Dim unItem As Object
Dim fichierJoint As Object
If Not (IsEmpty([A1]) Or [A1].Text = "") Then
Set ol = CreateObject("outlook.application")
Set unItem = ol.CreateItem(olMailItem)
unItem.To = [A1].Text
Else
MsgBox "Vous devez indiquer un destinataire", vbCritical, "Envoi
d'un courriel"
Exit Sub
End If
If Not (IsEmpty([A2]) Or [A2].Text = "") Then
unItem.Subject = [A2].Text
Else
unItem.Subject = "message sans objet"
End If

'En texte pur
'unItem.Body = [A3].Text

'en HTML
unItem.HTMLBody = "<span style=""color: red; background-color: yellow;
font-family: Arial; font-size: 32; text-decoration: overline underline "">"
& [A3].Text & "</span></SPAN>&copy; Pascal"

'fichier joint
If Not (IsEmpty([A4]) Or [A4].Text = "") Then
Set fichierJoint = unItem.Attachments
fichierJoint.Add [A4].Text
End If
unItem.Send
'ol.Quit
'Set ol = Nothing
End Sub


--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
http://www.ilyapa.net/baseExcel
"zazou" a écrit dans le message de
news: 2cd2701c469a3$a121a920$
Bonjour,

Je cree des mails sur mon Outlook a partir d'une macro
sous VBA, mais je ne sais pas mettre en forme (changer la
police d'ecriture, la taille ou la couleur) le corps du
mail,

auriez vous des conseils svp. ??

Merci beaucoup

Zazou