Bonjour,
Plein de petites subtilités, en effet faut il l'envoyer tous les jours pendant les 30 jours finaux ?
Si non, si ces 30 jours tombent un weekend, quand l'envoyer ?
L'application sera ouverte tous les jours ?
Petit exemple simple qui envoi à machin@gmail.com le mail suivant:
Sujet:
Documents fin de validité
Corps:
"Bonjour"
"Le document " & colonne A & " " & "arrive à sa fin de validé"
"Le document " & colonne A & " " & "arrive à sa fin de validé"
Pour chaque ligne, si la date d'aujourdhui - datevalidité est inférieure à 30 jours.
Sub MailOutlook()
Dim OutApp As Object
Dim OutMail As Object
Dim strbody As String
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
strbody = "Bonjour" & vbNewLine & vbNewLine
With Sheets("Feuil1")
For i = 2 To .Range("A" & .Rows.Count).End(xlUp).Row
If Date - .Range("D" & i) < 30 Then
strbody = strbody & vbNewLine & _
"Le document " & .Range("A" & i) & " " & "arrive à sa fin de validé"
End If
Next i
End with
On Error Resume Next
With OutMail
.to = "machin@gmail.com"
.CC = ""
.BCC = ""
.Subject = "Documents fin de validité"
.Body = strbody
.Display
End With
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
End Sub