Bonjour,
à tester,
Sub EnvoiMail()
Dim sh1, sh2, nb As Integer, m As Integer, n As Integer, i As Integer
Dim sTO As String, sObjet As String, sMessage As String, sFichier As String
Set sh1 = Sheets("Pilotage")
Set sh2 = Sheets("liste")
chemin = ThisWorkbook.Path
sFichier = chemin & "\" & sh1.[A10] & " - " & sh1.[D5] & " - " & Format(Right(sh1.[J3], 10), " dd-mm-yyyy")
'Sheets("Pilotage").ExportAsFixedFormat Type:=xlTypePDF, Filename:=sFichier, _
' Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
nb = Application.CountIf(sh2.Range("A:A"), sh1.Range("A10").Value)
n = 1
m = 0
For i = 1 To nb
m = Application.Match(sh1.[A10], sh2.Range("A" & n & ":A65000"), 0) + m
sTO = sh2.Range("C" & m)
sObjet = "RETARDS ET ECHEANCES DE PAIEMENT"
sMessage = "RETARDS ET ECHEANCES DE PAIEMENT"
Envoyer_Mail_Outlook sTO, sObjet, sMessage, sFichier
n = m + 1
Next
End Sub
Function Envoyer_Mail_Outlook(destTO As String, objet As String, message As String, fichier As String)
'Nécessite d'activer la référence "Microsoft Outlook Library"
Dim ObjOutlook As New Outlook.Application
Dim oBjMail
Dim Nom_Fichier As String
Set ObjOutlook = New Outlook.Application
Set oBjMail = ObjOutlook.CreateItem(olMailItem)
Nom_Fichier = fich
If objet = "" Then Exit Function
With oBjMail
.To = destTO
.Subject = objet
.Body = message
.Attachment.Add fichier
.Display 'vérification avant d'envoyer
' .Send 'envoi du message
End With
Set oBjMail = Nothing
Set ObjOutlook = Nothing
End Function