Formule miracle calcule d'heures [Résolu]

Signaler
Messages postés
98
Date d'inscription
mercredi 6 mai 2020
Statut
Membre
Dernière intervention
20 septembre 2020
-
Messages postés
12793
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
28 octobre 2020
-
Bonjour à tous,

J'ai encore besoin de votre aide pour finaliser mon fichier sur lequel je bonne depuis des semaines qui est destiné à la gestion d'heures des conducteurs routiers.

Afin de vérifier les temps de repos journalier, j'ai inséré une formule qui vérifie si entre l'heure de fin de service et l'heure de début de service du lendemain, il y a un minimum de 9h ou 11h, le problème et que quand le lendemain et une journée de repos et donc heure de début de service reste à 00:00 la cellule passe dans le rouge puisque la formule comprend une heure départ à minuit (logique).

Dans le cas d'une journée de repos qui suite une journée d'activité, c'est l'heure du début de service qui fait l'objet du calcul, exemple pour le 17/09/2020 de mon fichier en PJ :

Début de service à 08:00 et fin à 19h45 le 18 étant un repos, (00:00) dans ce cas, il me faut afficher combien d'heures il y à entre 19h45 et 08:00 le lendemain.

Pouvons-nous avoir une formule qui est capable de faire ce calcule uniquement si la case du lendemain reste à 00:00 ? Si oui, pourriez-vous SVP me donner cette formule ?

Merci à vous,
bon weekend.

Lien de mon fichier : https://www.cjoint.com/c/JItnvt3Suy4

Configuration: Windows / Firefox 80.0

6 réponses

Messages postés
25453
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
27 octobre 2020
5 558
Bonjour
pas sur d'avoir tout compris, on essaye en R8
=MOD(SI(V8=0;8/24;V8)-T8;1)
crdlmnt
Messages postés
98
Date d'inscription
mercredi 6 mai 2020
Statut
Membre
Dernière intervention
20 septembre 2020

Merci, ta formule semble fonctionner, toutefois, si je l’insère dans toutes mes cellules, notament entre deux jours NON travaillés, la cellule m'affiche 8:00 au lieu de 0:00 .... une idée ?
Messages postés
12793
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
28 octobre 2020
2 050
Bonjour à tous

Essaie plutôt
=SI(V8>0;MOD(V8-T8;1);MOD(R8-T8;1))

Cdlmnt
Via
Messages postés
98
Date d'inscription
mercredi 6 mai 2020
Statut
Membre
Dernière intervention
20 septembre 2020

Super, ça fonctionne !
Vraiment très fort les gars !
merci beaucoup ...
Messages postés
98
Date d'inscription
mercredi 6 mai 2020
Statut
Membre
Dernière intervention
20 septembre 2020

Bon bas du coup j'ai encore une erreur, si un jour de repos est entre deux jours travaillés, la cellule affiche la donnée saisie dans la première cellule du jour qui suit ... Une idée ?

J'ai sélectionné la cellule pour afficher la formule pour la capture d'écran.

Messages postés
98
Date d'inscription
mercredi 6 mai 2020
Statut
Membre
Dernière intervention
20 septembre 2020
>
Messages postés
98
Date d'inscription
mercredi 6 mai 2020
Statut
Membre
Dernière intervention
20 septembre 2020

Avez vous une autre solution messieurs ?
D'avance, merci.
Messages postés
2812
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
27 octobre 2020
385
" la cellule passe dans le rouge puisque la formule comprend une heure départ à minuit (logique). "
Pas du tout logique.
La logique voudrait que la cellule V8 passe au rouge, car il n'y a pas assez d'heures de repos pour redémarrer, et que donc la valeur 00:00 est fausse. En arrêtant a 19:45, il est tout a fait dans les clous !

Autrement, pour continuer ce que tu as fait, il te suffit d'ecrire R dans T8 et de t'en servir dans ta MFC et les formules suivantes (qui vont t'écrire erreur) dans la colonne V

Crdlmt
Messages postés
12793
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
28 octobre 2020
2 050
Rajoute en début de formule :
SI(SOMME(N8:P8)=0;0;
et une ) à la fin
Messages postés
98
Date d'inscription
mercredi 6 mai 2020
Statut
Membre
Dernière intervention
20 septembre 2020

Merci pour ta nouvelle réponse,
comme cici : =SI(SOMME(N8:P8)=0;0;SI(R8>0;MOD(R8-P8;1);MOD(N8-P8;1)))
Messages postés
12793
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
28 octobre 2020
2 050
oui
Messages postés
98
Date d'inscription
mercredi 6 mai 2020
Statut
Membre
Dernière intervention
20 septembre 2020

Merci beaucoup, ça fonctionne à merveille !!
Mille merci.