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,
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
'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
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
'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" <anonymous@discussions.microsoft.com> a écrit dans le message de
news: 2cd2701c469a3$a121a920$a501280a@phx.gbl...
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,
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
'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,