Bonjour,
Je possède un programme qui envoi automatiquement des mails lorsque une date butoir est atteinte. Les informations de mes mails sont stockées dans des cellules qu'il s'agit du contenu ou des destinataires. J'aimerai donc savoir s'il est possible de mettre du texte en gras ou en couleur dans mes mails sachant que je tire mes informations de mes feuilles excels (je ne vois pas comment utiliser des balises comme </b> dans mon cas ).
Voici la partie de mon programme qui envoi le mail si ma date butoir est atteinte et le constituant le mail :
For Each oCell In Worksheets("Commandes urgentes").UsedRange.Columns(cColJoursRestants).Cells
If oCell.Value <= cNbJoursRelance2 Then
If oCell.Offset(, cColMailEnvoi - cColJoursRestants).Value <> "Oui" Then
SendFollowUpMail Worksheets("Commandes urgentes"), oCell.Row
Cette partie envoie un mail s'il ne reste que 3 jours pour traiter la commande ( cNbJoursRelance2 = 15)
Sub SendFollowUpMail(zSheet As Excel.Worksheet, zRow As Long)
Const cColMailList = 19
Const cColMailBody = 20
Const cSep = vbLf
Const cMailItem = 0
Dim oOL As Object
Dim oMail As Object
Dim oCell As Excel.Range
Dim sRecipients As String
Dim aRecipients() As String
Dim sBody As String
Dim i As Integer
Set oCell = zSheet.Cells(zRow, cColMailList)
sRecipients = oCell.Value
Set oCell = zSheet.Cells(zRow, cColMailBody)
sBody = oCell.Value
If Len(sRecipients) > 0 And Len(sBody) > 0 Then
On Error GoTo ErrorHandling
Set oOL = CreateObject("Outlook.Application")
Set oMail = oOL.CreateItem(cMailItem)
With oMail
aRecipients() = Split(Replace(sRecipients, cSep, ";"), ";")
For i = 0 To UBound(aRecipients)
.Recipients.Add aRecipients(i)
Next
.Subject = cSubject
.Body = sBody
.Send
End With
Set oCell = zSheet.Cells(zRow, cColMailEnvoi)
oCell.Value = "Oui"
oCell.Font.Bold = True
End If
GoTo Cleaning
ErrorHandling:
Dim sMess As String
sMess = "Erreur " & Err.Number & vbCrLf & vbCrLf _
& Err.Description & vbCrLf & vbCrLf _
& "Veuillez vérifier les adresses mails!"
MsgBox sMess, vbCritical, "ERREUR MAIL"
If Not oMail Is Nothing Then
oMail.Display
End If
Cleaning:
Set oCell = Nothing
Set oOL = Nothing
Set oMail = Nothing
End Sub
Les colonnes 19 et 20 contiennent les adresses et le messages de mes mails.
Pensez-vous qu'il est possible de mettre des balises pour rendre mon texte gras et en couleur ?
J'ai également essayé de rédiger complètement mon mail sur ma macro mais sans succès
Devery