Calcul différence heures proches et non proches de minuit

Résolu/Fermé
zozo52 Messages postés 6 Date d'inscription mercredi 5 juin 2013 Statut Membre Dernière intervention 18 juin 2013 - 5 juin 2013 à 01:02
zozo52 Messages postés 6 Date d'inscription mercredi 5 juin 2013 Statut Membre Dernière intervention 18 juin 2013 - 18 juin 2013 à 22:56
bonjour à tous
je viens de rejoindre ce forum et espère trouver 1 solution à un vrai casse-tête sur excel.
j'ai mis par exemple dans la col A des heures théoriques (d'arrivée) et dans la colonne B des heures réelles (d'arrivée).
il faudrait que la formule soit capable de traiter 3 cas de figure :
1er cas :
heure théorique : 23:00 et heure réelle 01:00 (donc Excel doit trouver 2:00 de retard)
2ème cas :
heure théorique : 01:00 et heure réelle : 23:00 (donc Excel doit trouver 2:00 d'avance)
Pour les cas 1 et 2 j'ai utilisé la formule suivante ... et qui fonctionne :
=SI(B1<A1;MOD(B1-A1;1);MOD(A1-B1;1))
3ème cas :
Cette même formule ne fonctionne plus pour les cas où les heures ne sont pas proches de minuit !
Exemple 1 : heure théorique : 18:00 et heure réelle : 17:30 j'obtiens alors 23:30 et non 1:30 d'avance
Exemple 2 : heure théorique : 17:30 et heure réelle : 18:00 j'obtiens 22:30 et non 1:30 de retard
D'avance merci pour l'éclairage que l'on pourra m'apporter
Cordialement
A voir également:

7 réponses

Raymond PENTIER Messages postés 58393 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 23 avril 2024 17 096
5 juin 2013 à 03:15
De toutes façons ta formule ne te permet pas de savoir s'il s'agit de 2 h d'avance ou de retard ! Alors autant prévoir la colonne C pour une formule en cas d'avance et la colonne D pour une autre formule en cas de retard, et utiliser ta fonction SI pour tester si l'heure la plus grande est inférieure ou supérieure à minuit ...
0
zozo52 Messages postés 6 Date d'inscription mercredi 5 juin 2013 Statut Membre Dernière intervention 18 juin 2013
15 juin 2013 à 00:00
bonsoir Raymond
un grand merci pour votre éclairage face à mon casse-tête.
comme je l'ai dis à Frenchie83 j'ai ajouté dans la cellule du résultat (calcul différence heure théorique/heure réelle) une mise en forme conditionnelle
profitez bien de votre retraite... aux Antilles :-)
bien à vous
0
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 337
5 juin 2013 à 04:07
Bonjour

il faudrait déjà mettre le bon format de cellules pour les heures théoriques et réelles:
jj/mm/aaaa hh:mm
ensuite, comme le dit raymond PENTIER, tu ne distingues pas l'avance ou le retard, tu peux éventuellement, dans la colonne à côté préciser
=si (A1>B1;"avance";"retard").

cdlt
0
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 337
5 juin 2013 à 04:25
j'ai oublié, mettre en colonne C une formule de test toute simple =SI(A2<B2;B2-A2;A2-B2) sans passer par les modulos
0
zozo52 Messages postés 6 Date d'inscription mercredi 5 juin 2013 Statut Membre Dernière intervention 18 juin 2013
14 juin 2013 à 23:56
Bonsoir Frenchie83
désolée pour le retard j'aurai voulu vous remercier bien plus tôt mais malheureusement mon micro est tombé en panne durant 1 bon moment. Alors je rattrape mon retard...
Je vais effectivement passer par la méthode que vous proposez (sans passer par les modulos) et devoir saisir date et heure dans la même cellule même si ce n'est pas l'idéal de saisir la date (sinon j'ai cru comprendre qu'il me faudrait imbriquer une tonne de SI).
j'ai créé 1 mise en forme conditionnelle pour justement afficher le mot retard ou le mot avance.
Merci 1000 fois pour votre aide c'est vraiment super sympa
A une prochaine fois peut être
bon week-end
Cdlt
0

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

Posez votre question
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 337
15 juin 2013 à 21:54
Bonsoir ZOZO52
Tout d'abord, merci pour votre réponse.
"devoir saisir date et heure dans la même cellule même si ce n'est pas l'idéal de saisir la date"
Pour info
Pour la saisie de la date et l'heure assez rapidement et au bon format
CTRL + ; pour la date du jour
CTRL + : pour l'heure actuelle
il suffit d'exécuter les 2 manoeuvres citées ci-dessus avec un espace entre les deux
il n'y a plus qu'à modifier pour mettre les valeurs choisies.

Si ça peut vous simplifier le travail
Bonne soirée
Cdlt
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 213
Modifié par eriiic le 15/06/2013 à 23:34
Bonjour à tous,

avec retard (si si, c'est d'actualité), si tes avances/retard n'excèdent pas 12h :
=SI(MOD(B2-A2;1)<0.5;TEXTE(MOD(B2-A2;1);"h:mm")&" de retard";TEXTE(MOD(A2-B2;1);"h:mm")&" d'avance")
qui permet de se dispenser de la saisie de la date.

eric
0
zozo52 Messages postés 6 Date d'inscription mercredi 5 juin 2013 Statut Membre Dernière intervention 18 juin 2013
17 juin 2013 à 23:03
merci Frenchie83
pour vos dernières infos.
je connaissais effectivement ces 2 raccourcis clavier
eriiic vient de solutionner le casse-tête avance/retard
Bien à vous
0
zozo52 Messages postés 6 Date d'inscription mercredi 5 juin 2013 Statut Membre Dernière intervention 18 juin 2013
17 juin 2013 à 22:59
bonsoir Eriiic (avec 3 i c'est bien çà ?)
Merci de ton intérêt pour mon cas.
j'ai testé ta formule et je suis bien heureuse car elle me convient.
j'ai bien compris que cette formule ne peut fonctionner que pour les cas n'excédant pas 12 h.
Puis je te demander STP de m'expliquer les arguments de ta formule pour que j'arrive à bien la comprendre
Grand merci à toi
Horia
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 213
18 juin 2013 à 00:20
Bonsoir,

yes, 3i, 4 pour les intimes :-)

=SI(MOD(B2-A2;1)<0.5;si vrai; si faux)
Dans la 1ère partie le modulo revient à ajouter 24h (donc 1) si la différence est négative (les différences positives sont inchangées), ce qui arrive dans 2 cas : une avance, ou un retard avec l'heure réelle le lendemain matin. Ca ramène tous les temps entre 0 et 24h et te donne ce tableau :
théo	réel	B2-A2	MOD(B2-A2;1)
15:30	18:30	0.125	0.125
18:30	15:30	-0.125  0.875
23:00	01:00	-0.917	0.083333333
01:00	23:00	0.917	0.916666667

Tu peux y voir qu'après application du modulo une différence <0.5 correspond à un retard, une >0.5 à une avance, ce qu'il suffit de tester pour appliquer la bonne formule et le bon affichage.
Pour info 0.5 correspond à 1/2 journée pour excel, soit 12h. Ce qui explique la limitation à 12h puisqu'on s'en sert pour distinguer les retards des avances.

Pas sûr que mes explications soient bien claires mais ce n'est pas trop facile à expliquer :-)
Si tu as besoin du résultat pour d'autres calculs tu peux n'y mettre que les formules sans la partie ajout de texte, et mettre la formule avec la partie texte dans la cellule d'à-coté (excel ne sachant pas afficher d'heures négatives et n'acceptant pas de calcul dans les formats personnalisés ça parait difficile de passer par là).

eric
0
zozo52 Messages postés 6 Date d'inscription mercredi 5 juin 2013 Statut Membre Dernière intervention 18 juin 2013
18 juin 2013 à 22:56
Bonsoir Eric
Tes explications sont très claires :-)
Tu as réussi à solutionner mon casse-tête
encore un grand merci
PS : peut être au prochain cas que je me ferai un plaisir de te soumettre '-)
Bien à toi
Horia
0