Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 Mise à jour d'un calendrier au 35 jours

degards

XLDnaute Occasionnel
Bonjour à vous !!! J'ai besoin de votre aide pour mon petit problème. En F1 j'ai une date de début de cycle de travail de 35 jours. Les cellules en jaunes ne servent qu'à compléter d'autre formule dans d'autres feuilles dans mon fichier original. Dans mon VBA j'ai une ligne qui vérifie en fonction de la date si nous sommes dû pour un nouveau cycle de travail de 35 jours. Cependant si la journée en question, qui est toujours un dimanche, je n'ouvre pas le fichier et bien le cycle de travail ne se met pas à jour. Par exemple, le 10 juillet prochain sera la fin du cycle. Dimanche le 11 juillet, si je n'ouvre pas le fichier le cycle ne se mettra pas à jour donc les dates ne changeront pas.

Ce que j'aimerais c'est que peut importe le moment où j'ouvre le fichier, une vérification se fait afin de s'assurer que le cycle débute par une des dates entre A14 et A30.

Merci à l'avance !!!
 

Pièces jointes

  • horaire 35 jours.xlsm
    16.6 KB · Affichages: 16

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

D'après ce que j'ai compris il faut simplement que la date du jour (aujourdhui) soit >= à Sheets("horaire").Range("F1").Value + 35

donc soit dans votre workbook_open :
If Date >= Sheets("horaire").Range("F1").Value + 35 Then Sheets("horaire").Range("F1").Value = Date
soit si vous voulez conserver la date de F1+35 :

If Date >= Sheets("horaire").Range("F1").Value + 35 Then Sheets("horaire").Range("F1").Value = Sheets("horaire").Range("F1").Value + 35
Sheets("horaire").Range("F1").Value + 35 devenant la date de départ

Cordialement
 

degards

XLDnaute Occasionnel
Ce n’est pas tout à fait ce que j’ai de besoin. Cette formule je l’avais déjà visualisé mais le problème c’est que la vérification va se faire à chaque ouverture et la date va changer continuellement. Dans le fond, en F1 je ne doit pas retrouver d’autres dates que celle en A14 à A30 soit : 2021–06-06, 2021-07-11, 2021-08-15, …etc. En résumé à tout les 35 jours, F1 augmente de 35 mais reste identique durant tout cette période.
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Alors ce doit être ça :
Dim dte As Date
dte = Sheets("horaire").Range("F1") + 35
If Date > dte Then Sheets("horaire").Range("F1").Value = dte
F1 devrait rester à sa propre valeur tant que Date (aujourdhui) n'est pas supérieur à F1+35
Si F1 = 6/6/2021 F1 ne changera qu'à partir du 11/07/2021
Le lendemain (12/7/2021) Date sera inférieure à 11/07/2021+35 donc F1 restera tel quel. Non ?

Cordialement
 

degards

XLDnaute Occasionnel
Tout cela a bien de l’allure, je vais vérifier cela au bureau lundi la semaine prochaine et je vous reviens. J’aurais dû voir ça avant

Merci encore !!!!
 

degards

XLDnaute Occasionnel
Désolé du délai mais j'ai essayé le tout et ça fonctionne.

Merci encore Roblochon !!!!
 

Discussions similaires

Réponses
8
Affichages
502
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…