Calculer les heures de nuit

Résolu
marcho Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -  
 marcho -
J'ai un tableau excel avec la durée d'interventions chirurgicales (format début et fin d'intervention 20/08/2013 10:47:33).
Ces interventions commencent à n'importe quelle heure du jour et de la nuit.
Je souhaiterais une formule qui me permette de calculer automatiquement le temps occupé à ces interventions au cours de la période de garde, c-à-d de 21h le soir à 07h le lendemain matin. A noter que certaines interventions peuvent être longues, commencer un soir et se terminer le lendemain matin.
exemple:
- une intervention débute à 18h et finit à 2h du matin = 5h au cours de la période 21-7h.
- une intervention commence à 23h30 et finit à 9h du matin = 7h30 à prendre en compte.
Merci de votre aide.

12 réponses

Morgothal Messages postés 1236 Date d'inscription   Statut Membre Dernière intervention   183
 
Hello,
Je t'ai fait un classeur exemple pour que tu puisses l'adapter sur ton classeur :
le classeur :)

A+ !
2
tontong Messages postés 2572 Date d'inscription   Statut Membre Dernière intervention   1 062
 
Bonjour,
On peut raccourcir un peu la formule en utilisant
TRONQUE(A2) au lieu de
DATE(ANNEE(A2);MOIS(A2);JOUR(A2)
C'est moins évocateur mais plus chirurgical ;-)
0
marcho Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
Merci à Morgothal et tongtong. Cela résoud mon problème.
Bonne fin de semaine.

Marcho
0
marcho Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
Chers amis,

Je pensais le problème résolu.
Cependant, en testant sur mon tableau, j'ai des résultats non concordants.
exemple:

si j'ai en A2 début d'intervention 20/08/2013 14:50:52
en B2 fin d'intervention 20/08/2013 15:41:45
j'obtiens 1,41667 alors que j'aurais dû avoir 0 puisque cela ne tombe pas dans les heures entre 21h et 7h du matin le lendemain.
Merci.
0
Morgothal Messages postés 1236 Date d'inscription   Statut Membre Dernière intervention   183
 
Ah, je n'ai pas pris en compte le cas où le début et la fin sont le même jour !
Voici le fichier corrigé :
https://www.cjoint.com/c/CHEqzpCNMkp
0
marcho
 
Merci pour tout ce temps que vous me consacrez.
Je reviens vers vous parce qu'en fait, la formule, me semble-t-il, ne prend pas en compte les interventions qui commencent après minuit.
exemple:
7/01/2013 00:43:37 7/01/2013 04:58:58
7/01/2013 06:10:15 7/01/2013 07:43:02
7/01/2013 06:44:29 7/01/2013 14:26:15

me donnent 0h alors qu'il y a une prestation de nuit (<7h)
Avec mon plus grand merci.
:-)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tontong Messages postés 2572 Date d'inscription   Statut Membre Dernière intervention   1 062
 
Bonjour,
Vérifiez la formule suivante:
=MAX(0;MIN(B2;TRONQUE(B2)+7/24)-MAX(A2;TRONQUE(B2-1)+21/24))
Elle suppose moins de 24h et se base sur une référence de début de nuit fixée à 21h la veille de la date de fin d'intervention.
On pourrait résumer ainsi: fin au plus tôt - début au plus tard.
0
Morgothal Messages postés 1236 Date d'inscription   Statut Membre Dernière intervention   183
 
Hello
J'ai rajouté la gestion de ces cas particuliers :)
Voici le fichier corrigé !
0
Morgothal Messages postés 1236 Date d'inscription   Statut Membre Dernière intervention   183
 
En faisant plusieurs tests, je m'aperçois de plusieurs dysfonctionnements :(
Je m'occupe de ça et reposterai une version corrigée.
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour à tous

Ci joint un exemple unipersonnel réalisé pour une copine infirmière (heures jour-nuit-total)

Nota :
pour des durées à cheval sur 2 jours, les heures sont comptabilisées le jour de l'arrivée au W
Durée maxi de présence continue: 24 heures (pitié pour elle)
la feuille est protégée sans mdp

Classeur réalisé avec du Doliprane à haute dose

https://www.cjoint.com/c/CIcsmhTRicL
Michel
0
marcho
 
Merci michel. Cependant, je pense que la solution de Morgothal répond mieux à mon problème. Cordialement. M.
0
Morgothal Messages postés 1236 Date d'inscription   Statut Membre Dernière intervention   183
 
Bonjour marcho, bonjour Michel
J'y ai passé une partie de ma nuit et ma matinée, mais j'ai une solution qui fonctionne :)

J'ai créé une fonction personnalisée pour calculer le temps entre deux dates compris entre 23h et 7h, et ce dans les cas où les deux dates sont le même jour, ou non.

C'est assez costaud, tu peux vérifier si tout fonctionne dans ce classeur, et si c'est tout bon, tu n'auras qu'à exporter le module VBE dans ton propre classeur pour avoir accès à cette fonction.

Voili voilou, j'attends de tes news !
0
Morgothal Messages postés 1236 Date d'inscription   Statut Membre Dernière intervention   183
 
Pour info, j'ai prévu tous ces cas de figure :

'1   même jour       périodematin   périodesoir
'2   même jour       périodematin   horspériode
'3   même jour       périodematin   périodematin
'4   même jour       horspériode    périodesoir
'5   même jour       périodesoir    périodesoir
'6   même jour       horspériode    horspériode
'7   pas même jour   périodematin   périodematin
'8   pas même jour   périodematin   horspériode
'9   pas même jour   périodematin   périodesoir
'10  pas même jour   horspériode    périodematin
'11  pas même jour   horspériode    horspériode
'12  pas même jour   horspériode    périodesoir
'13  pas même jour   périodesoir    périodematin
'14  pas même jour   périodesoir    horspériode
'15  pas même jour   périodesoir    périodesoir

Il ne faut pas hésiter à revenir sur ce fil s'il y a des situations exotiques auxquelles je n'aurais pas pensé !
0
marcho
 
Wouahh ! Un énorme merci pour ce boulot.
J'apprécie à sa juste valeur. Cela va m'aider énormément.
Je n'avais pas idée au départ que cela pût être aussi complexe.
Bonne fin de journée et encore une fois, chapeau !
M.
0
tontong Messages postés 2572 Date d'inscription   Statut Membre Dernière intervention   1 062
 
Bonjour,
Avec les valeurs typiques retenues par Morgothal et le reste du tube de Doliprane de michel_m j'ai revu la formule du #7 . Elle s'est bien étoffée!
=MAX(0;MIN(B2;TRONQUE(A2)+7/24)-A2)+MAX(0;MIN(B2;TRONQUE(A2)+31/24)-MAX(A2;TRONQUE(A2)+21/24))+MAX(0;B2-MAX(A2;TRONQUE(A2)+45/24))
pour les détails:
https://www.cjoint.com/?3IdpTQVc545
0
marcho
 
Encore un grand merci à tous les deux.
J'ai exporté le VBE de Morgathal et c'est 'nickel'.
0