Condition selon date
Bonjour
Je voudrais que la suite de la fonction continue si la date du jour est comprise entre et celle de cellule de la colonne L - 60 jours, soit : datecellule L > datedujour >= datecellule L - 60
J'avais pensé à cela mais le - 60 n'est pas pris en compte :
ElseIf Range("L" & i).Value > (Now - 60) ThenQu'en pensez vous ?
Bonjour
Plutôt
ElseIf Range("L" & i).Value > (Now)- 60 ThenMerci de ta proposition, mais la soustraction n'est toujours pas prise en compte.
Voici l'ensemble
Sub Mail_educateur()
Dim Rep As Integer
With Sheets("Effectif") ' 'indiquer la feuille
DL = .Cells(Rows.Count, "AA").End(xlUp).Row
Set ol = CreateObject("Outlook.Application")
For i = 2 To DL
If Range("L" & i).Value < Now Then
Select Case Range("W" & i).Value
Case Is = "ATJM en attente de décision":
Case Is = "ATJM accordé":
If Now > Range("Y" & i) Then
Set olm = ol.CreateItem(0)
With olm
Select Case Range("Q" & i)
Case Is = "J.____": .to = "juliette.______.org"
Case Is = "G.____": .to = "gleciana.______.org"
Case Is = "B.____": .to = "didier.______.org"
Case Is = "H.____": .to = "harold.______.org"
End Select
.Cc = "oualid.____.org"
.Subject = "ATJM de " & Sheets("Effectif").Range("C" & i)
.body = "Bonjour " & vbCrLf & vbCrLf & "Dans le cadre de l'accompagnement de " & Sheets("Effectif").Range("C" & i) & ", né le " & Sheets("Effectif").Range("D" & i) & ", Merci de faire le nécessaire pour qu'il puisse bénéficier d'un renouvellement d'ATJM avant le " & Sheets("Effectif").Range("X" & i) & vbCrLf & vbCrLf & "Cordialement" & vbCrLf & vbCrLf & "L'équipe éducative du DAMA"
.Display
.Send
End With
Rep = MsgBox("Votre mail a été envoyé pour " & Range("C" & i).Value, vbExclamation + vbOKCancel, "Mails envoyés au DAMA") 'affiche le message des envois réalisés
If Rep = vbCancel Then Exit Sub
End If
Case Is = "ATJM non renouvelable":
Case Is = "ATJM à faire":
Set olm = ol.CreateItem(0)
With olm
Select Case Range("Q" & i)
Case Is = "J.___": .to = "juliette._.org"
Case Is = "G.___": .to = "gleciana.______.org"
Case Is = "B.___": .to = "didier.______.org"
Case Is = "H.____": .to = "harold.______.org"
End Select
.Cc = "oualid._.org"
.Subject = "ATJM de " & Sheets("Effectif").Range("C" & i)
.body = "Bonjour " & vbCrLf & vbCrLf & "Dans le cadre de l'accompagnement de " & Sheets("Effectif").Range("C" & i) & ", né le " & Sheets("Effectif").Range("D" & i) & ", Merci de faire le nécessaire pour qu'il puisse bénéficier d'un ATJM avant le " & Sheets("Effectif").Range("L" & i) & vbCrLf & vbCrLf & "Cordialement" & vbCrLf & vbCrLf & "L'équipe éducative du DAMA"
.Display
.Send
End With
Rep = MsgBox("Votre mail a été envoyé pour " & Range("C" & i).Value, vbExclamation + vbOKCancel, "Mails envoyés au DAMA") 'affiche le message des envois réalisés
If Rep = vbCancel Then Exit Sub
End Select
ElseIf Range("L" & i).Value > (Now) - 60 Then '<---------------- ICI
Set olm = ol.CreateItem(0)
With olm
Select Case Range("Q" & i)
Case Is = "J.____": .to = "juliette._.org"
Case Is = "G.____": .to = "gleciana._.org"
Case Is = "B.____": .to = "didier._.org"
Case Is = "H.___": .to = "harold._.org"
End Select
.Cc = "oualid._.org"
.Subject = "ATJM de " & Sheets("Effectif").Range("C" & i)
.body = "Bonjour " & vbCrLf & vbCrLf & "Dans le cadre de l'accompagnement de " & Sheets("Effectif").Range("C" & i) & ", né le " & Sheets("Effectif").Range("D" & i) & ", Merci de faire le nécessaire pour qu'il puisse bénéficier d'un ATJM avant le " & Sheets("Effectif").Range("L" & i) & vbCrLf & vbCrLf & "Cordialement" & vbCrLf & vbCrLf & "L'équipe éducative du DAMA"
.Display
.Send
End With
Rep = MsgBox("Votre mail a été envoyé pour " & Range("C" & i).Value, vbExclamation + vbOKCancel, "Mails envoyés au DAMA") 'affiche le message des envois réalisés
If Rep = vbCancel Then Exit Sub
End If
Next i
End With
End SubRe,
Comment est défini la date en colonne L, par une formule ou en dur
Difficile de voir sans classeur
Par une formule calculée selon la date de naissance.
Je sais que la méthode est peu orthodoxe mais je n'ai pas encore trouvé mieux.
Re,
Teste avec ceci
ElseIf Range("L" & i).Value - 60 <= Date Then '<---------------- ICISuper. Merci beaucoup