Trouver une date ALAP

Le
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
  • Partager ce contenu :
Vos réponses
Trier par : date / pertinence
Thorkhas
Le #4093561
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...
AV
Le #4093431
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
Thorkhas
Le #4093001
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





Patrice
Le #4092571
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)


Daniel
Le #4092531
Bonsoir.
Je pense que "As Late As Possible" peut convenir.
Cordialement.
Daniel
"Patrice" 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)




Poster une réponse
Anonyme