Bonjour MichD
> ... dates doit être en ordre décroissant ...
Voilà le truc qui m'a planté, j'étais persuadé que c'était l'inverse
!
Merci pour ton aide mais il faut se rendre à l'évidence, mon niveau VBA
n'est pas suffisant pour faire ce que je veux faire ... :-(
Je vais essayer d'être clair dans mes explications ...
Il s'agit de gérer des plages de date fonction de jours non
travaillés.
J'ai un tableau de date comme ci dessous, dans une Sub existante j'ai
une variable connue avec une date (DateCherchée) et j'ai besoin de renvoyer
2 dates (JourDébut et JourFin) avec les conditions suivantes
un exemple avec DateCherchée ="25/01/2020":
- les dates acceptables pour JourDébut et JourFin sont uniquement des jours
de la semaine du lundi au vendredi
- JourDébut = la date précédente ou égale présente dans le tableau + 1
jour (ici le 21/01/2020)
- JourFin = le jour ouvré précédent la date suivante dans la liste
(ici le 09/04/2020)
=> donc les dates de la liste ne sont jamais renvoyées
pour JourDébut et Jourfin
LaDate |
mer 01/01/2020 |
|
lun 20/01/2020 |
|
ven 10/04/2020 |
lun 13/04/2020 |
ven 01/05/2020 |
|
|
|
|
lun 31/08/2020 |
|
|
autre exemple
DateCherchée =01/01/2020
JourDébut = 02/01/2020
JourFin =17/01/2020 (le 19/01 est un dimanche et le 18/01 est un samedi
donc le vendredi 17)
La ou mes différents essais flanchent c'est par exemple pour
"DateCherchée = ven 10/04/2020"
JourDébut devrait être le 11/04 mais c'est un samedi, le 12 un dimanche et
le 13/01 qui est une date de la liste, donc JourDébut = 13/04/2020 et
JourFin=28/08/2020
Idéalement j'aurai aimé une function() mais je crois qu'une function ne
peut renvoyer qu'une valeur ... donc il faut 2 function()
DateDébut(DateCherchée as date) as date
DateFin(DateDébut as date) as date parce que la DateFin est fonction de
DateDébut pour les jours ou on saute une date de la liste (cas du
10/04)
Merci pour ton aide
@+Laurent