C'est bien expliqué merci, j'ai essayé celui avec select case ca fonctionne, mais moi je veux que le mail s'envoi aux personnes qui ont leur date de valdité de formation qui expire dans 2 mois et que c'a se fait automatiquement.
Mon 1er code pemet d'afficher un msg d'alerte et envoyer un mail au responsable (Desti)
Sub AlertesDatesPE() 'Fin Validité des PE
Dim Sh As Worksheet, Chaine As String, Lig As Integer, Alerte
Lig = 44 ' car les dates de validité se trouvent en ligne 14
Set olApp = CreateObject("Outlook.application")
For Each Sh In ActiveWorkbook.Sheets
If Sh.Range("A40") = "PE" Then 'ligne concernée
Col = 2 ' car la première date de validité en en colonne B
While Sh.Cells(Lig - 4, Col) <> "" ' on regarde toutes les formations
If Sh.Cells(Lig, Col) <> "" And Sh.Cells(Lig, Col) < Date + 60 Then ' si formation et date
' on enrichit la chaine avec nom-date-formation
Chaine = Chaine & Sh.Name & vbTab & " Date: " & Sh.Cells(Lig, Col) & " " & Sh.Cells(Lig - 1, Col) & vbCrLf
End If
Col = Col + 1
Wend
If Chaine <> "" Then Chaine = Chaine & vbCrLf
End If
Next Sh
If Chaine <> "" Then
'MsgBox(Chaine, , "Alertes sur les dates de validit?formations.")
' Alerte = MsgBox(Chaine, , "Alertes sur les dates de validitéformations.")
MsgBox Chaine, , "Alertes sur les dates de validité formations réglementaires."
End If
If Weekday(Now, 2) = 1 Then 'Envoi mail chaque Lundi
Desti = "ddd"
Objet = "Alertes sur les dates de validité des PE"
Corps = "Bonjour, ce message est un mail automatique, il vous informe sur la fin de valdité des PE, Merci "
EnvoiMail Desti, Objet, Corps
End If
End Sub
Mon 2eme code: permettra d'envoyer un mail aux personnes concernées automatiquement
Sub EnvoiMail(Desti As String, Objet As String, Corps As String)
Dim M As Object
Set M = olApp.CreateItem(olMailItem)
Dim Sh As Worksheet
For Each Sh In ActiveWorkbook.Sheets
Set Desti2 = Sh.Range("C2").Value 'adresse mail de la personne concernéé
With M
.to Desti2
.Subject = Objet
.Body = Corps
.Recipients.Add Desti
.cc = "xxx"
.send
End With
Next
End Sub
La je sais pas comment procéder :/ l'erreur est tjr au niveau de :
Desti2