Comment créer une alerte d'échéance de date sur excel [Résolu/Fermé]

Signaler
Messages postés
259
Date d'inscription
mardi 15 janvier 2013
Statut
Membre
Dernière intervention
3 mai 2020
-
Messages postés
259
Date d'inscription
mardi 15 janvier 2013
Statut
Membre
Dernière intervention
3 mai 2020
-
Bonjour,

Je cherche un moyen qui m'alerte (par exemple 4 jours avant) qu'une date de départ arrive à échéance.
Merci pour vos conseils et informations.

1 réponse

Messages postés
12713
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
29 septembre 2020
2 026
Bonsoir

Tu peux faire une macro qui à l'ouverture du classeur vérifie les dates dans une certaine colonne et indique dans une boite de message celles 4 jours avant échéance

Si tu veux une aide pour établir la macro, postes un exemple de ton fichier sur cjoint.com, fais créer un lien, copies-le et reviens l'indiquer ici en indiquant quelles dates sont concernées et quoi renvoyer dans la boite de message

Cdlmnt
Via

Messages postés
259
Date d'inscription
mardi 15 janvier 2013
Statut
Membre
Dernière intervention
3 mai 2020
2
Bonjour.
Merci pour le mode opératoire clair mais rien ne se passe. Pourtant j'ai bien renseigné des DLC < 30 JOURS. J'ai également abaissé le niveau sécurité des macros : échec aussi.
Voici ce que j'ai copié dans le module de mon classeur :
Note : entre la macro et les lignes de lancement il y a un trait séparateur sur la largeur de la page qui n'apparait pas au copier/coller.
Y a t-il une erreur dans mon "installation" ?
Merci pour ton aide.

Sub dlc()
Dim Ligne As Long
'recherche de la dernière ligne remplie en col A de la 1ere feuille
Ligne = Sheets(1).Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row
For n = 2 To Ligne
'Boucle sur les lignes depuis la 2 jusqu'à la dernière
' Si la date en col C est <= à la date d'aujourd'hui +30
If CDate(Range("C" & n)) <= Date + 30 Then
' alors on releve dans une variable mes le produit, le n° de tiroir et la dlc + un saut de ligne
mes = mes & Range("B" & n) & " Tiroir " & Range("D" & n) & " DLC ; " & Range("C" & n) & Chr(10)
End If
Next
' Affichage du message
MsgBox mes
End Sub
Private Sub Workbook_Open()
dlc
End Sub
Messages postés
12713
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
29 septembre 2020
2 026 >
Messages postés
259
Date d'inscription
mardi 15 janvier 2013
Statut
Membre
Dernière intervention
3 mai 2020

Re

Tu ne dois pas mettre les 2 macros à la suite!

Reprends mes explications du précédent message
1) la 1ere macro est à mettre dans un module
2) La 2ne macro est à mettre dans This Workbook
Messages postés
259
Date d'inscription
mardi 15 janvier 2013
Statut
Membre
Dernière intervention
3 mai 2020
2
Bonsoir.

Désolé pour mon erreur : un simple clic sur This Workbook et j'ai tout copié dans le même module.

La macro fonctionne et j'ai modifié des dates de DLC pour tester et là problème. Certaines échéances inférieures à 30 jours ne sortent pas ! Lignes 6, 8, 11 du fichier. Par exemple ligne 11 je dois mettre une date <=13/10/15 sinon ne sort pas ! Pourquoi ?

je joins le fichier si tu as le temps d'analyser cette incohérence.

http://www.cjoint.com/c/EInsVrFWuBt

Egalement pour une meilleure lisibilité, je voudrais faire apparaître une croix pour les lignes concernées ou case barrée sur la date DLC concernée mais je ne sais pas si c'est possible.

Merci pour ton aide précieuse.

Cordialement.
Messages postés
12713
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
29 septembre 2020
2 026 >
Messages postés
259
Date d'inscription
mardi 15 janvier 2013
Statut
Membre
Dernière intervention
3 mai 2020

Bonsoir

Tout fonctionne correctement, seules les dates inférieures à celle d'aujourd'hui +30 sont relevées
Etant le 13 sept, la date à + 30 jours est le 13 oct, donc ne sont indiquées que les dates inférieures ou égales au 13 oct, la cellule C11 comporte la date du 15 oct donc n'est pas concernée
Si tu veux modifier la durée de déclenchement d'alerte par exemple la porter à 40 jours avec échéance de la DLC il suffit de remplacer 30 par 40 dans la ligne de la macro :
If CDate(Range("C" & n)) <= Date + 30 Then

D'autre part pour visualiser dans le tableau les DLC prochainement à échéance :
Sélectionner toute la colonne D, Accueil - Mise en forme conditionnelle - Nouvelle règle - Appliquer une formule ... et entrer la formule suivante :
=C1<=AUJOURDHUI()+30
avant de choisir un Format de remplissage (en orange par exemple)

Cdlmnt
Via
Messages postés
259
Date d'inscription
mardi 15 janvier 2013
Statut
Membre
Dernière intervention
3 mai 2020
2 >
Messages postés
12713
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
29 septembre 2020

Bah !!!! Oui c'est sûr tout est cohérent ! Encore "une" de ma part. Pour le décompte, j'ai à chaque opération, utilisé la date d'aujourd'hui et non la date d'entrée indiquée dans la colonne "A". La macro, elle, ne s'est pas trompée !!!!
Vraiment merci pour ton écoute et ta patiente.
PS : J'ai appliqué la formule pour visualiser les DLC et tout fonctionne.
Encore merci.
Cordialement.