Calcul date&hr de fin en fonction de la plage travaillée

Bonjour

Je cherche à calculer la date de fin d'une tâche (jour/mois/année hr:min) en automatique. Et cela en fonction d'une période travaillée qui peut prendre 3 états: 1×8: 5h à 13h : soit 8h de travail: nommé 1

2x8: 5h à 21h: soit 16h de travail: nommé 2

3x8: 5h à 5h (j+1):soit 24h de travail: nommé 3

Les weekend et jours fériés sont à exclure.

Exemple :

Date de début : 05/08/2020 05h00

Tâche A= 26h00

Période de travail= 2

La date de fin de la tâche calculée en automatique doit être : 07/08/2020 15h00

Si la période de travail est renseignée à 1, la date de fin de la tâche est alors : 10/08/2020 07h00 (car pas de travail le weekend)

Par avance merci de votre contribution à la résolution de ce cas.

Vincent

Bonjour, et bienvenue,

as-tu un fichier excel pour y travailler ? un exemple ci-dessous

Bonjour,

Une question :

Tâche A ; période 2 ; début : 5/8 ; Heures : 26 ; résultat = 6/8 et non le 7/8 ?

mer 5/8 16h et jeu 6/8 10h = 26h

Cdlt.

voici le fichier. J'ai calculé manuellement la date de fin (c'est celle ci que je cherche à calculer avec une formule en auto)

14calculdatefin.xlsx (11.69 Ko)

et présenté la visualisation du calendrier (pour visualiser les weekends et jours non travaillés)

Jean-Eric, je pense qu'avec le fichier c'est (beaucoup) plus explicite.

par avance merci ;-)

Vincent

oui jean-eric

05/08/2020 5h à 21h: 16h de travail

06/08/2020 5h à 15h: 10h de travail

total de 26h = durée tache A

date de fin 06/08/2020 15h00

J'ai un petit écart à analyser sur la dernière opération !

édit : correction apportée au fichier

En fait, en C5, il faudrait écrire 29:00 et non 5:00 ... pour autant cela ne règle pas complètement mon problème de calcul pour la dernière valeur.

In fine, ces calculs sont parfois tellement complexes, qu'il vaut mieux passer (exceptionnellement) par un calcul macro où on peut prendre ses aises pour détailler le cas de figure ... je vais regarder dans cette voie.

Mon erreur était sur le jour off que je n'avais pas "fixé" par $

J'en ai profité aussi pour recaler l'heure de début si jamais l'opé précédente était terminée avant le début de la plage de travail.

edit : fichier complété ci-dessous

Excellent! Merci Steelson. Je vais l'éprouver sur mes nombreux cas…

dans mes premiers travaux de formule j'étais parti sur =datefin( force est de constaté que j'étais loin du compte...

Il me reste à traiter le cas où l'opé précédente se termine après l'heure de fin de poste ...

en A10:

si l'heure de fin de la tache précédente (L9) est en dehors de la plage de travail de la config, alors l'heure de début=heure début de la config

en A10:

si l'heure de fin de la tache précédente (L9) est en dehors de la plage de travail de la config, alors l'heure de début=heure début de la config

oui, ... du lendemain, et c'est complexe quand en fait l'heure de travail comprend une partie de nuit !

En A10

il faudrait simuler différents cas de figure où la fin d'une opé tombe en dehors de la plage de travail

edit : fichier corrigé

Bonjour à tous,

Pour une appli j'avais proposé la méthode suivante (via Vba) :

* dans l'onglet 'Cfg' : les horaires de travail d'une semaine ordinaire avec jusqu'à 4 plages de travail et les jours de fermeture (vacances, fériés, ponts, ...)

* dans l'onglet 'Data' : saisie en F-G-H du début de la tâche avec la durée en heures => calcul de la fin en I-J prenant en compte les horaires travaillés et les temps off

Je ne sais pas si ça répond à la question, mais si ça peut aider ...

Pierre

Steelson, j'ai testé avec les 3 config, en intégrant des we et jours off, c'est 100% concluant. J'adopte! Passage en prod pour moi ;-) Grand merci.

Pierrep56, merci pour ce partage et ta suggestion. J'opte pour une résolution par formule excel.

Steelson, j'ai un souci, lorsque mes taches sont toutes en 3x8, l'enchainement ne se fait pas. Ex: si heure de fin 2h du matin, la tache suivante débute a 5h00 et non 2h00...

Bonjour,

j'ai une erreur sur mon inégalité

=SI(
ET(MOD(L9;1)<RECHERCHEV(E10;$A$3:$E$5;2;0);MOD(L9;1)>MOD(RECHERCHEV(E10;$A$3:$E$5;3;0);1));
ENT(L9)+RECHERCHEV(E10;$A$3:$E$5;2;0);
SI(
ET(MOD(L9;1)>RECHERCHEV(E10;$A$3:$E$5;3;0);MOD(L9;1)<RECHERCHEV(E10;$A$3:$E$5;2;0)+1);
SERIE.JOUR.OUVRE(L9;1;JF)+RECHERCHEV(E10;$A$3:$E$5;2;0);
L9))
15calculdatefin.xlsx (12.20 Ko)

merci Steelson, je test ça ce jeudi. Rapidement mais quelques cas sont passés OK, à suivre ;-)

Rechercher des sujets similaires à "calcul date fin fonction plage travaillee"