Macro alerte date expiration

Bonjour à tous,

j'ai besoin de votre aide..

J'ai un tableau Excel avec une colonne date expiration, et je souhaiterais créer des alertes 1 mois avant la date d'expiration, sous forme de message (pas de mise en forme conditionnelle).

Je n'ai jamais utilisé de macro donc je vous sollicite.

Je vous joint le tableau en question.

Je vous remercie par avance.

Coralie

611classeur1.xlsx (11.03 Ko)

Salut coraliecc et le forum

Je n'ai que la version 2003, alors faudra adapter :

- clic droit sur un nom d'onglet ou <Ctrl>+<F11> pour passer sous VBE

choisir le module ThisWorkBook et coller la macro :

Private Sub Workbook_Open()
Dim Cel As Range, X As Long, Msg As String
X = Cells(Rows.Count, "D").End(xlUp).Row
X = IIf(X < 4, 4, X)
For Each Cel In Range([D4], Cells(X, "D"))
    If Cel < DateSerial(Year(Date), Month(Date) - 1, Day(Date)) Then
        Msg = Msg & "Ligne " & Cel.Row & " " & Cel & " " & cel.offset(0,-2) & Chr(13)
    End If
Next Cel
If Msg <> "" Then MsgBox Msg
End Sub

créer des alertes 1 mois avant la date d'expiration, sous forme de message (pas de mise en forme conditionnelle).

Comme tu ne précises pas la nature du message, c'est juste une approche : la macro se lance à chaque ouverture du fichier. Pour l'instant, je n'ai pas regardé le cas du 31 mars, mais il faudrait préciser ce qu'on doit avoir dans ce cas.

A+

Bonjour,

sans macro, une formule à tirer vers le bas en col E, peut offrir une approche :

' =SI(D4="";"";SI(MOD((AUJOURDHUI()-D4);365,25)>=335,25;"A";""))

la lettre A s'affichera pendant les 30 jours précédents de chaque anniversaire

ou simplement : =SI(MOD((AUJOURDHUI()-D4);365,25)>=335,25;"A";"")

Cordialement

Gorfael a écrit :

Salut coraliecc et le forum

Je n'ai que la version 2003, alors faudra adapter :

- clic droit sur un nom d'onglet ou <Ctrl>+<F11> pour passer sous VBE

choisir le module ThisWorkBook et coller la macro :

Private Sub Workbook_Open()
Dim Cel As Range, X As Long, Msg As String
X = Cells(Rows.Count, "D").End(xlUp).Row
X = IIf(X < 4, 4, X)
For Each Cel In Range([D4], Cells(X, "D"))
    If Cel < DateSerial(Year(Date), Month(Date) - 1, Day(Date)) Then
        Msg = Msg & "Ligne " & Cel.Row & " " & Cel & " " & cel.offset(0,-2) & Chr(13)
    End If
Next Cel
If Msg <> "" Then MsgBox Msg
End Sub

créer des alertes 1 mois avant la date d'expiration, sous forme de message (pas de mise en forme conditionnelle).

Comme tu ne précises pas la nature du message, c'est juste une approche : la macro se lance à chaque ouverture du fichier. Pour l'instant, je n'ai pas regardé le cas du 31 mars, mais il faudrait préciser ce qu'on doit avoir dans ce cas.

A+

Merci pour la réponse ! J'ai mis un peu de temps avant de comprendre ! Cependant il faudrait que la MSGBOX apparaissent 1 mois avant l'expiration des assurances.

autres questions.. Comment je peux changer le message de la MSGBOX pour que puisse apparaitre le message "Fournisseur X -Assurance expire dans 1 mois"

Je vous remercie une nouvelle fois.

Rechercher des sujets similaires à "macro alerte date expiration"