Re : Calculer les heures supplémentaires par jour et par semaine, jour et nuit
Bonsoir
Pour résoudre le problème lié à l'utilisation de certains EQUIV(....;1), j'ai essayé de travailler en minutes (écrites comme des nombres entiers dans la colonne AC), et non en heure:minute (C'est à dire en fraction de journée, puisque pour Excel 1 journée =1, 1 h = 1/24...). Ainsi, lorsque l'on fait une recherche avec EQUIV dans la colonne AC, on peut le faire avec des EQUIV(x;....;0) et non plus avec des EQUIV(x;....;1) car on est sûr d'y trouver la valeur x recherchée.
Dans la colonne AD, on a les minutes cumulées pondérées ou non en fonction de la nuit, écrites au format nombre elles aussi.
Toutefois, cela force à multiplier toutes les valeurs E11, F11, G11, H11, FIMNOT et INNOT par 60*24 dans la formule, pour pouvoir comparer, additionner, soustraire des nombres représentant tous des minutes. Par exemple 22/24 =22:00 devient 1320 minutes.
Au passage, j'ai trouvé plusieurs simplifications (plus besoin de faire de recherche dans la colonne AC), et la formule devient finalement :
(SI(EQUIV(INDEX(AD$11:AD$3011;E11*60*24+1)+I11*60*24;AD$11:AD$3011;1)-1<(F11+(F11<E11))*60*24;EQUIV(INDEX(AD$11:AD$3011;E11*60*24+1)+I11*60*24;AD$11:AD$3011;1)-1;
EQUIV(INDEX(AD$11:AD$3011;SI(G11="";F11*60*24;G11*60*24)+1)+I11*60*24-(INDEX(AD$11:AD$3011;(F11+(F11<E11))*24*60+1)-INDEX(AD$11:AD$3011;E11*60*24+1));AD$11:AD$3011;1)-1))/60/24
Même si cela ne se voit pas au premier coup d'œil, elle est bien plus courte que la formule initiale
. Ce sont les *60*24 qui font qu'elle parait longue.
Et elle donne presque toujours les mêmes résultats que toi
. Les cas évidents, où on a 3:30 de nuit (0:30 en plus grâce à la pondération de nuit) ou 7:00 de nuit (1:00 en plus grâce à la pondération de nuit), comme par exemple la ligne 21 où on doit obtenir 5:00, où l'ancienne formule donnait 4:59, donnent maintenant le bon résultat. Les résultats différents (lignes 38 et 39) viennent du fait que ma méthode arrondit à la minute inférieure (à cause de certains EQUIV(....;1)), et que tu as arrondis à la minute supérieure. Ainsi, ligne 38, H. début H. supp = 02:22 correspond à une journée de travail de 07:59:26 et H. début H. supp = 02:23 à 08:00:34 de travail. Idem ligne 39, pour 03:22 et 03:23 respectivement.
Si elle te convient, on pourra encore la simplifier en nommant tout le début, car, elle est de la forme
(SI(Début Hsupp avant Hfin1<(F11+(F11<E11))*60*24;Début Hsupp avant Hfin1;
EQUIV(INDEX(AD$11:AD$3011;SI(G11="";F11*60*24;G11*60*24)+1)+I11*60*24-(INDEX(AD$11:AD$3011;(F11+(F11<E11))*24*60+1)-INDEX(AD$11:AD$3011;E11*60*24+1));AD$11:AD$3011;1)-1))/60/24
A toi de tester.
Je regarde si on peut faire sans les colonnes intermédiaires AC et AD, mais bon, c'est déjà pas mal ainsi.
@ plus
P.S : J'espère que tu arrives à comprendre mes posts, après traduction en portugais-brésilien. Si cela n'est pas évident pour toi, poses des questions.