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 :
Cette partie envoie un mail s'il ne reste que 3 jours pour traiter la commande ( cNbJoursRelance2 = 15)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 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
Les colonnes 19 et 20 contiennent les adresses et le messages de mes mails.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57 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
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...
Hio62
Partager