Macro Excel diffusion de mail avec insertion html
Vinz33
-
Vinz33 -
Vinz33 -
Bonjour tout le monde,
Je souhaite automatiser un e mailing. Pour cela j'ai déjà codé un programme vba (dans lequel je déterminais directement le corps du message), cependant je souhaite le modifier pour intégrer un HTML directement au lieu du texte (pour le moment: "Bonjour," & Chr(10) & Chr(10) ).
Comment adapter le code ?
Sub DIFFUSION()
Dim corps, MAIL As String
Dim MonOutlook As Object
Dim MonMessage As Object
Dim I As Integer
'Liste de diffusion
For I = 1 To 430
MAIL = Workbooks("LISTE_EXPOSANT_2015.xlsm").Worksheets("LISTE").Cells(I, 2).Value
'Création d'un nouveau mail
Set MonOutlook = CreateObject("Outlook.Application")
Set MonMessage = MonOutlook.createitem(0)
'Identification des destinataires
MonMessage.To = MAIL
'Sujet du mail
MonMessage.Subject = "TEST_COMM_EXPOSANT"
'Corps du mail
corps = "Bonjour," & Chr(10) & Chr(10)
MonMessage.Body = corps
'Sauvegarde du mail en brouillon
MonMessage.Save
Next
' Fermeture de la session Outlook :
Set MonOutlook = Nothing
End Sub
En vous remerciant d'avance pour vos réponses :)
Vincent
Je souhaite automatiser un e mailing. Pour cela j'ai déjà codé un programme vba (dans lequel je déterminais directement le corps du message), cependant je souhaite le modifier pour intégrer un HTML directement au lieu du texte (pour le moment: "Bonjour," & Chr(10) & Chr(10) ).
Comment adapter le code ?
Sub DIFFUSION()
Dim corps, MAIL As String
Dim MonOutlook As Object
Dim MonMessage As Object
Dim I As Integer
'Liste de diffusion
For I = 1 To 430
MAIL = Workbooks("LISTE_EXPOSANT_2015.xlsm").Worksheets("LISTE").Cells(I, 2).Value
'Création d'un nouveau mail
Set MonOutlook = CreateObject("Outlook.Application")
Set MonMessage = MonOutlook.createitem(0)
'Identification des destinataires
MonMessage.To = MAIL
'Sujet du mail
MonMessage.Subject = "TEST_COMM_EXPOSANT"
'Corps du mail
corps = "Bonjour," & Chr(10) & Chr(10)
MonMessage.Body = corps
'Sauvegarde du mail en brouillon
MonMessage.Save
Next
' Fermeture de la session Outlook :
Set MonOutlook = Nothing
End Sub
En vous remerciant d'avance pour vos réponses :)
Vincent
A voir également:
- Macro Excel diffusion de mail avec insertion html
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Liste de diffusion whatsapp - Guide
- Windows live mail - Télécharger - Mail
1 réponse
J'ai trouvé la réponse en fouinant sur le net:
---------------------------
Sub Diffusion()
Dim corps, MAIL As String
Dim MonOutlook As Object
Dim MonMessage As Object
Dim I As Integer
Dim FSo As New Scripting.FileSystemObject
Dim olApp As Outlook.Application
Dim objMail As Outlook.MailItem
Set olApp = Outlook.Application
For I = 2 To 5
'Create e-mail item
Set objMail = olApp.CreateItem(olMailItem)
MAIL = Workbooks("LISTE_EXPOSANT_2015.xlsm").Worksheets("LISTE2").Cells(I, 2).Value
'Création d'un nouveau mail
'Set MonOutlook = CreateObject("Outlook.Application")
Set MonMessage = objMail
'Identification des destinataires
MonMessage.To = MAIL
'Sujet du mail
MonMessage.Subject = "TEST_COMM_EXPOSANT"
'Corps du mail
corps = FSo.GetFile("teasingfr.HTML").OpenAsTextStream.ReadAll
With objMail
'Set body format to HTML
.BodyFormat = olFormatHTML
.HTMLBody = corps
.Display
End With
'Sauvegarde du mail en brouillon
MonMessage.Save
Next
' Fermeture de la session Outlook :
Set MonOutlook = Nothing
End Sub
-------------------------
SI cela peut aider d'autres personnes...
A bientot
VIncent
---------------------------
Sub Diffusion()
Dim corps, MAIL As String
Dim MonOutlook As Object
Dim MonMessage As Object
Dim I As Integer
Dim FSo As New Scripting.FileSystemObject
Dim olApp As Outlook.Application
Dim objMail As Outlook.MailItem
Set olApp = Outlook.Application
For I = 2 To 5
'Create e-mail item
Set objMail = olApp.CreateItem(olMailItem)
MAIL = Workbooks("LISTE_EXPOSANT_2015.xlsm").Worksheets("LISTE2").Cells(I, 2).Value
'Création d'un nouveau mail
'Set MonOutlook = CreateObject("Outlook.Application")
Set MonMessage = objMail
'Identification des destinataires
MonMessage.To = MAIL
'Sujet du mail
MonMessage.Subject = "TEST_COMM_EXPOSANT"
'Corps du mail
corps = FSo.GetFile("teasingfr.HTML").OpenAsTextStream.ReadAll
With objMail
'Set body format to HTML
.BodyFormat = olFormatHTML
.HTMLBody = corps
.Display
End With
'Sauvegarde du mail en brouillon
MonMessage.Save
Next
' Fermeture de la session Outlook :
Set MonOutlook = Nothing
End Sub
-------------------------
SI cela peut aider d'autres personnes...
A bientot
VIncent