Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Trouver une date ALAP

5 réponses
Avatar
Thorkhas
Bonjour,

Je suis actuellement en train de construire un planning sous forme de gantt
graphique dans excel.

Il me faudrait pouvoir calculer une date ALAP à partir d'une date de fin et
du reste à faire pour la tâche, c'est à dire que si le reste à faire est de 3
jours et que la date prévue est lundi, alors la date ALAP est mercredi de la
semaine d'avant (et non vendredi)

Pour cela j'avais commencé par faire une fonction VBA en utilisant
networkdays() mais apparememnt elle ne fonctionne pas. Puis j'ai tenté avec
weekday. Ca ne marche pas non plus : il ne "voit" pas les week ends :/

L'idée de ma fonction est la suivante :
On commence à dateFin-1, avec un nombre de jours calendaires disponibles
(variable jours)
datet est la date que l'on parcourt

Tant que jours est < au reste à faire (raf ici), on
* vérifie si le jour est un jours de semaine. Si oui, alors on incrémente
la variable jours. Si non, on ne fait rien
* décrémente dateT
Wend

Voici la fonction proprement dite ...

Function nbJoursCalendaires(dateFin As Date, raf As Integer)

Dim c, jours As Integer
Dim datet As Date

c = Round(raf)

datet = dateFin - 1
jours = 0
While jours < c
If Weekday(datet, vbMonday) < 6 Then
jours = jours + 1
End If
datet = datet - 1
Wend
nbJoursCalendaires = jours

End Function

Je ne vois pas mon erreur de logique :(

Quelqu'un a déja cherché à faire le même genre de chose ?

Merci beaucoup en tous cas si j'ai une réponse, je suis un peu bloqué :)

Cordialement,


JC Montigny

5 réponses

Avatar
Thorkhas
PS : raf doit être passé avec un type Double (car on peut avoir un nombre
décimal en entrée) mais même avec cette correction (qui povuait avoir un
impact certain sur le nombre de jours ouvrés) il n'a pas l'air de vouloir
faire la distinction entre jour ouvré et weekend...
Avatar
AV
Avec :
"Fin" = la date butoir
"X" = le Nbre de jours ouvrés avant cette date
"Jrf" = la plage contenant les jours fériés ou non travaillés

Comment obtenir la date précédente de X jours, en décomptant WE et jours
fériés :

Matricielle (valider par ctrl+maj+entrée) :
=GRANDE.VALEUR(SI((JOURSEM(Fin-LIGNE(INDIRECT("1:1000"));2)<6)*(ESTNA((EQUIV(Fin-LIGNE(INDIRECT("1:1000"));JrF;0))));Fin-LIGNE(INDIRECT("1:1000")));X)

AV
Avatar
Thorkhas
Re,

Merci beaucoup pour la formule ! ca marche :)

faudra que je poste une version édulcorée de mon machin un de ces 4... (la
feuille excel "planning" avec le reste etc)

A++

JC Montigny



Avec :
"Fin" = la date butoir
"X" = le Nbre de jours ouvrés avant cette date
"Jrf" = la plage contenant les jours fériés ou non travaillés

Comment obtenir la date précédente de X jours, en décomptant WE et jours
fériés :

Matricielle (valider par ctrl+maj+entrée) :
=GRANDE.VALEUR(SI((JOURSEM(Fin-LIGNE(INDIRECT("1:1000"));2)<6)*(ESTNA((EQUIV(Fin-LIGNE(INDIRECT("1:1000"));JrF;0))));Fin-LIGNE(INDIRECT("1:1000")));X)

AV





Avatar
Patrice
Bonjour,

Petite question pour ma culture personnelle:
Que veut dire ALAP?

Je connais ASAP: a soon as possible
Mais pas son cousin ALAP

Cordialement.

Bonjour,

Je suis actuellement en train de construire un planning sous forme de gantt
graphique dans excel.

Il me faudrait pouvoir calculer une date ALAP à partir d'une date de fin et
du reste à faire pour la tâche, c'est à dire que si le reste à faire est de 3
jours et que la date prévue est lundi, alors la date ALAP est mercredi de la
semaine d'avant (et non vendredi)


Avatar
Daniel
Bonsoir.
Je pense que "As Late As Possible" peut convenir.
Cordialement.
Daniel
"Patrice" a écrit dans le message de news:
456c77ab$0$5738$
Bonjour,

Petite question pour ma culture personnelle:
Que veut dire ALAP?

Je connais ASAP: a soon as possible
Mais pas son cousin ALAP

Cordialement.

Bonjour,

Je suis actuellement en train de construire un planning sous forme de
gantt graphique dans excel.

Il me faudrait pouvoir calculer une date ALAP à partir d'une date de fin
et du reste à faire pour la tâche, c'est à dire que si le reste à faire
est de 3 jours et que la date prévue est lundi, alors la date ALAP est
mercredi de la semaine d'avant (et non vendredi)