Notifications
brucine Messages postés 21825 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J’ai un fichier Excel qui contient plusieurs tâches à exécuter à des dates précises. Ces tâches se répètent à des fréquences différentes selon leur nature.
Je souhaiterais savoir comment afficher des notifications sur l’écran de mon ordinateur lorsque l’échéance d’une tâche approche.
Par ailleurs, j’aimerais également que la prochaine date d’exécution de chaque tâche soit calculée automatiquement en fonction de sa fréquence.
Pouvez-vous m’indiquer comment procéder pour mettre cela en place dans Excel ou via une solution complémentaire ?
Windows / Chrome 138.0.0.0
- Notifications
- Historique des notifications android - Guide
- Comment changer le son des notifications - Guide
- Comment bloquer les notifications - Guide
- Desactiver ts notifications whatsap - Guide
- Notifications - Guide
2 réponses
Bonjour,
ça manque un peu de précisions, ton affaire, on ne sait pas quelle est la fréquence de répétition des tâches en question, mais ça, n'est pas très compliqué, je me contente de deux exemples.
Lignes 1 et 2, comptabilité.
A2 vaut 60, 45 FDM...selon que le client paye à jours fixes ou Fin de Mois.
C2 vaut: SI(DROITE(B2;3)="FDM";FIN.MOIS(GAUCHE(B2;2)*1+A2;0);GAUCHE(B2;2)*1+A2)
E2 alerte 30 jours avant C2:
MOIS.DECALER(C2;-1)
Lignes 4 et 5 programmation d'une tâche répétitive quelconque
Prochaine date d'exécution en D5:
(AUJOURDHUI()-B5-MOD(AUJOURDHUI()-B5;C5))+C5+B5
Alerte 15 jours avant en E5:
D5-15
Là où cela se complique, c'est d'exécuter une macro ou ce qu'on voudra, puisqu'elle ne s'exécutera pas si Excel n'est pas ouvert (et c'est d'ailleurs un peu réinventer la roue, pourquoi ne pas se contenter d'ouvrir le fichier Excel tous les jours).
On peut contourner en créant comme ici un script vbs dont on collera le raccourci dans le menu démarrer et qui affichera la ou les cellules concernées (ici E2 et E5) avec les messages personnalisés correspondants.
https://forum.excel-pratique.com/excel/afficher-sur-le-bureau-windows-le-contenu-d-une-cellule-calculee-189726
Merci beaucoup pour votre explication détaillée !
Elle m’a beaucoup aidée à mieux comprendre la logique de gestion des dates et des rappels dans Excel.
Voici mon propre fichier Excel : il contient une liste de tâches avec leurs dates planifiées.
Mon objectif est de calculer automatiquement les prochaines dates d’exécution en fonction de la fréquence (lorsque la tâche est marquée comme "OK"), puis de remplacer l’ancienne date par la nouvelle dans le tableau.
En parallèle, je souhaite afficher une notification :
-
Si une tâche n’est pas encore exécutée alors que la date est atteinte ou dépassée,
-
Ou s’il faut exécuter la tâche aujourd’hui (alerte du jour).
Je n'ai pas de solution miraculeuse.
On ne peut bien sûr pas programmer une tâche dont la date est "après chaque intervention".
Dans les autres cas, pour programmer, il faut une colonne avec les dates initiales (qu'on peut cacher par la suite) et comparer à la date d'aujourd'hui qui est par définition volatile, elle ne sera jamais dépassée.
Ligne 2 j'ai une formule en E2:
=SI(DATEDIF(D2;AUJOURDHUI();"d")<C2;C2+D2;ARRONDI.AU.MULTIPLE(DATEDIF(D2;AUJOURDHUI();"d");C2)+D2)
mais je n'ai pas d'autre choix que de valider manuellement en F2 par OK et ce qui n'a pas de sens, parce que quand la date de prochaine exécution sera le 16 juillet ce sera toujours OK.
Ligne 3 j'ai entré manuellement la date de prochaine exécution en E3, je vais valider en entrant OK quand ce sera fait.
J'ai une mise en forme conditionnelle en E3:
=ET($E$3>=AUJOURDHUI();$F$3<>"OK")
format police rouge qui s'applique quand cette date manuelle est dépassée et que OK n'est pas entré.
Comme je suis fainéant, au lieu de prendre un calendrier, G3 me donne la date suivante, que je vais entrer manuellement en E3 après validation.
Sur un script affichant ces alertes (hors "après chaque intervention" où c'est impossible), celui que j'ai mis en lien et adapté ne fonctionne que partiellement:
Set objExcel = CreateObject("Excel.Application") objExcel.Visible = False ' // Addapter le chemin du classeur Set objWorkbook = objExcel.Workbooks.Open("C:\Users\brucine\Desktop\Freq.xlsx") ' // Adapter ' // Adapter le nom de la feille Set objWorksheet = objWorkbook.Worksheets("Feuil1") ' // Adapter ReturnValue = objWorksheet.Range("E2") objExcel.Quit Message = "Tache non effectuee ou non validee: " & ReturnValue MsgBox message
Il obéit bêtement et me retourne le contenu d'une cellule (ici E2) indépendamment du fait que sa valeur me plaise ou pas.
Il y a probablement moyen de faire quelque chose de plus élaboré non pas dans le cas ligne 2 (il n'y a pas de critère) où un script pourrait ramener toutes les lignes d'un message style
La tache (B3) n'a pas ete effectuee ou validee le (E3)
à condition que E3 soit dépassée, mais je suis une vraie quiche en vbs et plus largement parlant en scripts pour Excel.
Il reste à mon opinion plus simple de ne pas se prendre la tête et de mettre un raccourci du fichier Excel dans le menu démarrer si le PC démarre tous les jours, en tâche planifiée s'il reste allumé en permanence.