Code vba envoie de mail à plusieurs déstinataire

Fermé
Leandro - 22 sept. 2014 à 15:19
 Leandro - 23 sept. 2014 à 12:33
Bonjour,

J'ai trouvé ce code vba qui fonctionne très bien, mais j'aimerai plutôt que de rentrer manuellement l'adresse mail faire référence à une plage d'une feuille du classeur.

Pouvez-vous m'indiquer la marche à suivre ?

Merci,

Sub sendMail2()
Dim envoyerA As String, envoyerCc As String, Subject As String

' Indiquer ici l'adresse mail à laquelle il faut envoyer le message :
envoyerA = "***@***" ' Indiquer ici l'adresse mail à laquelle il faut envoyer le message en copie carbone (Cc) :
envoyerCc = ""
' Indiquer ici le sujet de l'e-mail :
Subject = "Test"

Dim s As Object
Dim docMail As Object
Dim body As Object
Dim stream As Object
Set s = CreateObject("Notes.NotesSession")

Set db = s.CurrentDatabase
s.ConvertMIME = False ' Do not convert MIME to rich text

'Create email to be sent
Set docMail = db.CreateDocument

With docMail
.Form = "Memo"
.SendTo = envoyerA
.copyTo = envoyerCc
.Subject = Subject
.From = s.COMMONUSERNAME
.ReplyTo = s.COMMONUSERNAME
'.Principal = FROM ADDRESS
End With

Set stream = s.CreateStream
Set body = docMail.CreateMIMEEntity
Call stream.WriteText("<h1>Hello, World!</h1><ul><li>Une</li><li>Liste</li><li>À</li><li>Puce</li></ul>")

Call body.SetContentFromText(stream, "text/html;charset=iso-8859-1", ENC_IDENTITY_8BIT)

Call docMail.SEND(False)
Set docMail = Nothing
Set body = Nothing
Set stream = Nothing

MsgBox "Message envoyé"
End Sub

A voir également:

2 réponses

J'ai trouvé une astuce mais elle ne me permet que de selectionner qu'une celulle.

' Indiquer ici l'adresse mail à laquelle il faut envoyer le message :
envoyerA = Sheets("Feuil2").Range("L4").Value
' Indiquer ici l'adresse mail à laquelle il faut envoyer le message en copie carbone (Cc) :
envoyerCc = ""
' Indiquer ici le sujet de l'e-mail :
Subject = "Test"

Avez-vous une idée sur comment indiquer une plage ? pour info le Range("L4:L6").Value n'a pas fonctionné.

Merci
0
Re, j'ai fini par trouver un autre code qui permet de l'envoyer à plusieurs personne :

Sub EnvoiUnMail()
Dim MailAd As String
Dim Msg As String
Dim Subj As String
Dim URLto As String, CC As String
MailAd = Range("d1")
Subj = Range("d3")
Msg = Msg & Range("d4")
CC = Range("D2")
URLto = "mailto:" & MailAd & "?subject=" & Subj & "&cc=" & CC & "&body=" & Msg
ActiveWorkbook.FollowHyperlink Address:=URLto
End Sub

Le soucis c'est que ce code me crée le message dans ma boite mail mais ne l'envoie pas. Comment faire pour qu'il s'envoie automatiquement ?

Merci
0