Alerte date butoire

Bonjour,

J'ai exploré l'ensemble du forum et j'ai réussi à faire plus ou moins ce que je souhaite cependant j'ai besoin d'aide pour finaliser et compléter.

Je souhaite faire une alerte qui m'informe de l'arrivée à échéance de date de formation selon un écart de 30 ou 90 pas encore décidé.

j'ai utilisé le code suivant :

Sub Workbook_Open()
Dim nomfeuille As String
nomfeuille = ActiveSheet.Name
derlig = Sheets("ABC").Cells(Cells.Rows.Count, "A").End(xlUp).Row
For Each d In Sheets("ABC").Range("D2:D" & derlig)
ecart = d - Date
d.Interior.Color = RGB(255, 0, 0)
If ecart <= 30 Then
MsgBox nomfeuille & " Formation : " & d.Offset(0, -3) & " a refaire dans " & ecart & " jours" & vbLf & _
"Merci de faire le nécessaire "
d.Interior.Color = RGB(255, 0, 0)
End If
Next
End Sub

J'ai deux soucis, la première cela ne traite qu'une feuille. la deuxieme le code couleur comme j'ai fait du copié/collé semble erroné chez moi car il me met en rouge également les dates qui sont supérieure à la date du jour.

Pourriez-vous m'aider à faire cette alerte sur tout le classeur ?

Merci

Bonjour,

Essayez ceci :

Sub Workbook_Open()
Dim nomfeuille As String
Dim ecart as double
nomfeuille = ActiveSheet.Name
With Sheets("ABC")
    derlig = .Range("A" & .Rows.Count).End(xlUp).Row
    For Each d In .Range("D2:D" & derlig)
        ecart = d - Date
        'd.Interior.Color = RGB(255, 0, 0)
        If ecart <= 30 Then
            MsgBox nomfeuille & " Formation : " & d.Offset(0, -3) & " a refaire dans " & ecart & " jours" & vbLf & _
    "Merci de faire le nécessaire "
            d.Interior.Color = RGB(255, 0, 0)
            Else: d.Interior.Color = xlNone
        End If
        ecart = 0
    Next d
End With
End Sub

la première cela ne traite qu'une feuille.

Pour tenir compte de cela, il faudrait avoir une règle dans la manière dont vous nommez les onglets et savoir combien vous en avez au total (exemple : Nom1, Nom2... etc)

Cordialement

Rechercher des sujets similaires à "alerte date butoire"