Sub Message1()
Dim I As Integer, MailTo As String, MailCC As String
Dim vPJ
Dim OLApplication As Outlook.Application, OLMail As Outlook.MailItem
Set OLApplication = CreateObject("Outlook.Application")
Set OLMail = OLApplication.CreateItem(OLMailItem)
For I = 1 To 100 ' Il y a sur le forum de quoi regarder _
quelle est la dernière cellule remplie, mais comme je _
n'ai jamais testé, je mets 100 par exemple
If Cells(I, 1) = "X" Then
MailTo = MailTo & Cells(I, 3) & ";" ' 3 pour regarder _
ta colonne C si c'est là où est l'adresse, à modifier pour ton cas
End If
If Cells(I, 1) = "C" Then
MailCC = MailCC & Cells(I, 3) & ";"
End If
Next I
ObjetMessage = Cells(3, 10)
CorpsMessage = Cells(3, 11)
vPJ = Range("J6")
With OLMail
.To = MailTo ' Destinataire
.CC = MailCC ' Copie
.Importance = olImportanceNormal
.Subject = ObjetMessage ' Sujet
.Body = CorpsMessage ' Message
.Attachments.Add vPJ ' Pièce jointe
.Categories = "Daily"
.OriginatorDeliveryReportRequested = True ' Accusé de dépôt
.ReadReceiptRequested = True ' Accusé de lecture
' .Send '<<<<<<<<<<<<<<<Pour envoyer directement
.Display '<<<<<<<<<<<<<Pour voir le mail avant envoi
End With
End Sub