Décalage Heures/Jours ouvrées avec plage horaire

Bonjour à tous,

Je vous joins un petit fichier qui résume bien mon problème...

Je souhaite qu'en saisissant une heure et une date de début de tache, puis un nombre d'heures ouvrés, la formule calcule automatiquement date et heure de fin de tâche (en excluant week-end & jours fériés) et en tenant compte des plages d'activités.

Merci de votre aide.

Flo

19test.xlsx (9.96 Ko)

Bonjour,

C'est à adapter (si tu veux je le verrai ce soir) à partir d'un calcul que j'avais déjà réalisé sur ce forum.

https://forum.excel-pratique.com/viewtopic.php?f=2&t=121425

Le soucis est que je n'ai mis qu'une seule pause (le midi) et que je n'ai qu'une seule ressource.

Ça marche, j'attends ton retour ce soir alors ! Merci 😁

Concernant la ressource, si c'est problématique, part du postulat qu'il y en aura qu'une affectée.

Merci 😁

Bon je viens d'essayer d'adapter ton fichier à mon besoin...

Sans succès ^^' !

Tout mes espoirs reposent sur toi...

Voici ... à simuler.

Attention ! excel a choisi une solution intelligente de calcul avec les heures : celles-ci sont stockées sous forme décimales sachant que 1:00 (1 heure) vaut donc 1/24ème soit 0,041666666666667 et on voit qu'excel arrondit les chiffres, ce qui pose problème dans les comparaisons aux bornes. Ainsi certains calculs donneront une heure de fin du 9 mars à 8h au lieu du 6 mars à 17h ... d'un point de vue excel ce sera la même chose ... Si nous étions restés au calcul en base sexagésimale comme les mésopotamiens, ou duodécimale cela aurait sans doute été plus facile.

Autre chose ... toujours question approximation par excel !

si on écrit 8:00 tout seul, sans le jour, la valeur est alors : 0,333333333333333

si on écrit le 8/3/2020 8:00, alors la valeur stockée est différente : 0,333333333335759

Bref cela influe aussi sur les calculs.

Donc il faut bien interpréter le résultat pour éviter des valeurs curieuses aux bornes des jours et des pauses qui nous feraient sauter d'un côté à l'autre de la plage de nuit ou de la plage de pause !

Voici le calcul à simuler ... car il y a peut-être des erreurs que je n'ai pas vues. Je vais aussi simuler de mon côté.

fichier supprimé au profit du suivant

Merci Steelson de ton retour rapide !

J'ai essayé de déverminer ton calcul mais là tu m'as un poil perdu.

Partons du postulat que chacun de mes postes ont une ressource à 1 personne.

Tu trouveras dans le dernier onglet, l'ensemble des variables possibles que je vais rencontrer...

Pas facile, facile ! Si tu souhaites continuer à simuler, ce serait cool !

De mon côté, j'essaye d'appliquer ta méthodo à ces différentes plages de travail.

En tout cas, merci beaucoup !

Comme tu l'as compris, c'est pour mon boulot et ça va me faire gagner un temps fou si cela fonctionne...

Bon courage

Je ne comprends pas du tout le contenu de ta colonne "durée".

Il y est affiché 152:00, soit 152 heures ouvrées ??

Et quand je clique dessus, elle est au format 01/00/1900 8:00, je ne comprends donc pas comment se fait l'affichage 152:00

Je ne comprends pas du tout le contenu de ta colonne "durée".

Il y est affiché 152:00, soit 152 heures ouvrées ??

Et quand je clique dessus, elle est au format 01/00/1900 8:00, je ne comprends donc pas comment se fait l'affichage 152:00

Bizarrerie d'excel ...

Excel stock les jours et les heures comme valeurs numériques, les jours sont des nombres entiers (depuis le 1/1/1900) et les heures des fractions de jours.

J'ai rentré 152:00 heures de travail à exécuter ... ce qui fait en langage excel 6,333333333 équivalents-jours entiers ou le 6/01/1900 8:00:00 en prenant comme origine le 1/1/1900 0:00. C'est excel qui a transformé l'entrée en un nombre qu'il pense plus compréhensible pour nous !

J'ai essayé de déverminer ton calcul mais là tu m'as un poil perdu.

Je t'ai mis un calcul un peu plus détaillé ...

Tout repose sur 2 valeurs : G2 et H2

G2 : combien d'heures de travail réalisables la première journée en tenant compte de l'heure de début (et des pauses programmées)

H2 : combien d'heures de travail réalisées avant l'heure de début si saut de journée

Pour cela je m'appuie sur le déroulement de la journée

Je vais probablement reprendre plus tard ce calcul en passant en heures et centièmes pour éviter les erreurs d'arrondi (encore que, si la pause ne dure que 20 mn cela fera 0,3333333333334 heures !!).

Tu trouveras dans le dernier onglet, l'ensemble des variables possibles que je vais rencontrer...

Wahou, ok, si maintenant les plages ne sont pas toutes homogènes, je vais réfléchir à comment tenir compte des variables à chaque ligne !

Comme tu l'as compris, c'est pour mon boulot et ça va me faire gagner un temps fou si cela fonctionne...

et cela fonctionnera même si dois y passer quelques jours

Bonjour Steelson,

Merci beaucoup de ton implication.

Très bien, je vais me pencher sur ton calcul détaillé ce matin et je vais essayer de l'appliquer à mes nouvelles plages.

On se tient au jus. 🙂

Bonne journée

Je suis en train d'adapter à ta situation d'horaires multiples.

Ce sera fait d'ici midi je pense.

Voici

Il y a quelques plages nommés :

  • _F pour jours fériés (mettre sur 2 années en cas de début fin d'année)
  • _H1, _H2, _H3 ici (voir commentaire)

Je regarde ça dès que possible ! Merci

Super Job ! Merci

Ça à l'air de tourner comme il faut !

Deux questions :

1) Quand je renseigne mes heures ouvrées, c'est souvent au format 1,3 / 5 / 10 / 48 etc.... (au format nombre entier + décimale). Comment je peux les passer au format XX : XX pour incrémenter ta colonne E dans le troisième onglet de ton fichier ?

2) Si possible (la cerise sur le gateau), il faudrait qu'Excel détecte quand on approche des bordures (pour le soir, ex : 20:15 ou 20:30) qu'il ne planifie pas le début de la tâche ce jour-ci à 20:30 mais qu'ils arrondissent à 21:00 et qu'il planifie donc à partir du lendemain matin première heure dispo.

Tout ceci pour se rapprocher de la réalité actuelle. Mes opérateurs commencent rarement une tâche de plusieurs heures s'il reste 30 min ou 15 min sur la journée, ils font plutôt de la maintenance ou du nettoyage et démarrent le lendemain matin.

En tout cas, ça claque ton fichier !!!

Dans le cas ou je souhaite déplacer ces formules dans mon fichier portant les macros, est-ce qu'un duplicata de tes 3 premiers onglets dans mon fichier cible sera suffisant à garantir le bon fonctionnement de tes formules ?

1) Quand je renseigne mes heures ouvrées, c'est souvent au format 1,3 / 5 / 10 / 48 etc.... (au format nombre entier + décimale). Comment je peux les passer au format XX : XX pour incrémenter ta colonne E dans le troisième onglet de ton fichier ?

ok, je vais tout passer en heures et centièmes

2) Si possible (la cerise sur le gateau), il faudrait qu'Excel détecte quand on approche des bordures (pour le soir, ex : 20:15 ou 20:30) qu'il ne planifie pas le début de la tâche ce jour-ci à 20:30 mais qu'ils arrondissent à 21:00 et qu'il planifie donc à partir du lendemain matin première heure dispo.

ok, je vais mettre une valeur en paramètre

Maj

Pour les demandes précédentes, voici un état des lieux :

1) J'ai réussi à trouver pour coller à ton formalisme de cellule ! ça marche du tonnerre ^^ ! Sujet clos chef !

2) Je précise ma demande, ce paramètre devra permettre de détecter lors du début de phase, s'il reste 30 min ou moins dans la plage horaire travaillée de cette tache, de passer à la journée suivante.

Je ne sais pas si c'est plus clair.... Quoiqu'il en soit, j'ai intégré ton ancien formalisme XX : XX à ma macro et ça tourne tout seul donc ne t’embête pas à modifier pour mettre en décimale !

3) Dernière question : Moins en lien avec notre sujet de calcul d'heure, sais-tu comment je peux réaliser un report de date soumis à multi-condition ?

En fait, la date et l'heure de démarrage de mon poste "Ctrl + Montage + Marquage" doit être la date et l'heure de fin au plus tard de ces 6 postes :

  • Quincaillerie
  • Usinage
  • Presta Usinage
  • Presta XXX
  • Presta RAT
  • Presta TS

Comment détecter cela ?

Bon en tout cas, merci encore, ça commence réellement à prendre forme et ça va me faire gagner un temps monstrueux.

Une fois ces deux derniers points traités, je t'enverrai le fichier (si ça t’intéresse) complet afin que tu puisses comprendre la source de toutes mes demandes et que tu vois le résultat

En fait, la date et l'heure de démarrage de mon poste "Ctrl + Montage + Marquage" doit être la date et l'heure de fin au plus tard de ces 6 postes :

  • Quincaillerie
  • Usinage
  • Presta Usinage
  • Presta XXX
  • Presta RAT
  • Presta TS

Pas sûr d'avoir bien saisi... avec un MAX, ou un MAX.SI.ENS si tu es en XL2016

Ça marche, je teste ça !! 😁

En manipulant à gogo le fichier, j'ai trouvé une limite d'emploi :

Quand tu planifies une tâche qui dépend de la plage H3 (5h-21h), et qui se termine à 7h du matin, la tache suivante qui se réalise comme suit :

Tache : Date début = Date fin de la tache n-1

Heure début = Heure de fin de la tache n-1

Donc quand la tache n-1 est sur la plage H3 et se termine à 7:00, la tache n débute qu'à 8:00 car dépend de la plage H2 et cet écart généré des N/A sur la suite.

Comment faire pour réaliser ce lien entre les 2 tâches ?

Rechercher des sujets similaires à "decalage heures jours ouvrees plage horaire"