Microsoft 365 Calcul heure de nuit

Craw

XLDnaute Nouveau
Bonjour,

Je souhaite en indiquant l'heure de début et de fin de journée de travail et le début et fin de plage horaire de nuit, récupérer le nombre d'heures de nuit effectuées.

Exemple :

Cas 1 :

Plage de nuit : 22:00-07:00
Horaire de travail : 23h:00-07:00
Heure de nuit : 08:00

Cas 2 :

Plage de nuit : 02:00-06:00
Horaire de travail : 23h:00-07:00
Heure de nuit : 04:00

Voici ci-joint un fichier excel qui marche très bien pour le cas 1 mais pas pour le cas 2.
PS: Je ne m'y connais pas trop en Excel..

Merci d'avance !
Craw
 

Pièces jointes

  • heures_nuit.xlsx
    10.8 KB · Affichages: 19

Craw

XLDnaute Nouveau
Bonjour @riton00 et merci pour t'a réponse. Je m'y connais pas assez en excel pour comprendre la mécanique de la formule cependant sans même modifié les exemples du fichier que tu m'as envoyé les résultats ne sont pas cohérent affichant une 10aine d'heures de nuit alors qu'entre 22h et 7h il ne s'écoule que 9h.
 

Craw

XLDnaute Nouveau
Bonjour et merci pour tes efforts @riton00 !

Pour le premier cas où l'heure de début de nuit est à 22h les cas sont plus cohérents que la fois précédente même si ligne 8 on constate 20m de temps de nuit ce qui ne devrait pas être le cas.

heures_nuit_2.PNG


Pour le deuxième cas, lorsque je met l'heure de début de nuit à 2h on constate encore des temps de nuit de plus de 10h ce qui ne devrait pas être le cas non plus.

heures_nuit.PNG


Merci encore pour ton aide
 

AtTheOne

XLDnaute Impliqué
Supporter XLD
Bonsoir à toutes et à tous, bonsoir @Craw
Bon j'y vais de ma proposition
L'idée est de remplacer les plages horaire par des plages de cellules (autant de lignes que de minutes)
et de compter les lignes communes.
Pour Excel 365 avec la fonction LET (sinon, passer par 3 noms définis Plg_1, Plg_2 et Plg_3)
Le planning est mis sous forme de tableau structuré nommé Tb_H.
La formule :
VB:
=SI(([@ARRIVEE]<>"")*([@SORTIE]<>"");
        LET(Plg_1;DECALER($A$1;0;0;ARRONDI(MOD(Hf-Hd;1)*1440;0);1);
            Plg_2;DECALER(Plg_1;60*24;0);
            Plg_3;DECALER(Plg_2;60*24;0);
            Journée;DECALER($A$1;ARRONDI(MOD([@ARRIVEE]-Hd;1)*1440;0);0;ARRONDI(MOD([@SORTIE]-[@ARRIVEE];1)*1440;0);1);
            (SIERREUR(LIGNES(Plg_1 Journée);0)+SIERREUR(LIGNES(Plg_2 Journée);0)+ SIERREUR(LIGNES(Plg_3 Journée);0))/1440);
           "")
Hd, Hf noms correspondant au début et à la fin de la plage des horaires de nuit.

Voir le fichier joint
A bientôt
 

Pièces jointes

  • Calcul heure de nuit.xlsx
    39.2 KB · Affichages: 9

Craw

XLDnaute Nouveau
Bonjour @AtTheOne et merci de t'as réponse ! Comme dit plus haut je ne m'y connais pas trop en Excel mais je ferai l'effort demain d'apprendre et de comprendre ce que fait t'as formule. Cependant des tests que j'ai pu effectué tout semble marcher pour le cas 1 mais pour le cas 2 je n'ai pas pu testé car j'ai cette erreur qui apparait lorsque je veux change la plage horraire de nuit :

heure_nuit_erreur.PNG


Je regarderai plus en détails mais merci tout de même et bonne soirée :)
 

eriiic

XLDnaute Barbatruc
Bonjour à tous,
@Craw
Tu disais ne jamais avoir vu ça sur l'autre site.
C'est parce que tu ne prends pas la peine de lire les chartes pour respecter les règles de ces forums.
Ici c'est pareil :
2.10 - Évitez de poser votre question sur plusieurs forums sur Internet, cette pratique s'appelle « cross posting" et elle peut être mal perçue par les membres répondant aux questions. Si vous avez déjà posté votre question ailleurs, que nous n'avez pas de réponse satisfaisante et que vous voulez la reposter sur XLD, il est possible de supprimer votre discussion sur l'autre forum.
Cela fonctionne aussi dans l'autre sens si vous souhaitez poser votre question ailleurs.

eric
 

Discussions similaires

Statistiques des forums

Discussions
311 721
Messages
2 081 928
Membres
101 842
dernier inscrit
seb0390