Excel arrondir heures selon 2 variables
Résolu/Fermé
lola
-
16 sept. 2011 à 14:28
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 17 sept. 2011 à 21:27
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 17 sept. 2011 à 21:27
A voir également:
- Arrondir heure excel
- Liste déroulante excel - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
- Aller à la ligne excel - Guide
- Déplacer une colonne excel - Guide
7 réponses
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 419
Modifié par Vaucluse le 16/09/2011 à 18:01
Modifié par Vaucluse le 16/09/2011 à 18:01
Bonjour
essayez celle ci dans tous vos cas de figure je n'en ai testé que 2:
=SI(MOD((D5-C5)*96;4)<=1;ARRONDI.INF((D5-C5)*24;0);ARRONDI.SUP((D5-C5)*24;0))
bonne chance
crdlmnt
ps (formule corrigée à 18:01)
Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
essayez celle ci dans tous vos cas de figure je n'en ai testé que 2:
=SI(MOD((D5-C5)*96;4)<=1;ARRONDI.INF((D5-C5)*24;0);ARRONDI.SUP((D5-C5)*24;0))
bonne chance
crdlmnt
ps (formule corrigée à 18:01)
Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 249
16 sept. 2011 à 18:49
16 sept. 2011 à 18:49
Bonjour tout le monde,
autre proposition :
=(ENT((B1-A1)*24)+(MOD((B1-A1)*24;1)>0.25)*1)/24
eric
autre proposition :
=(ENT((B1-A1)*24)+(MOD((B1-A1)*24;1)>0.25)*1)/24
eric
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 249
Modifié par eriiic le 17/09/2011 à 10:58
Modifié par eriiic le 17/09/2011 à 10:58
Bonjour,
C'est dû aux erreurs d'arrondi d'excel.
Soustrait 1s (ou moins) aux temps et c'est bon.
Par exemple :
=(ENT((B1-A1)*24)+(MOD((B1-A1-"00:00:01")*24;1)>0.25))/24
eric
C'est dû aux erreurs d'arrondi d'excel.
Soustrait 1s (ou moins) aux temps et c'est bon.
Par exemple :
=(ENT((B1-A1)*24)+(MOD((B1-A1-"00:00:01")*24;1)>0.25))/24
eric
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 419
17 sept. 2011 à 10:58
17 sept. 2011 à 10:58
Salut Eric
c'est effectivement une autre option.
bon WE
bien amicalement
c'est effectivement une autre option.
bon WE
bien amicalement
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 249
17 sept. 2011 à 11:00
17 sept. 2011 à 11:00
Ah, je ne t'avais pas vu vaucluse...
salut ;-)
salut ;-)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
re bonjour,
je viens de testé les solution de eric et vaucluse (pépé je ne peux pas ouvrir le doc sur l'ordi ou je suis)
Au premier abord les formules paraissaient fonctionner mais a force d'essayer des horaires différents ya desfois ou ca ne marche pas pour les 2 formules :
pour les minutes commencant a 25 et se terminant a 40 ex : 9h25-16h40 : il calcule 8h alors que réellement ya 7h15 donc resultat 7h
pour les minutes commencant 55 et se terminant 10 ex : 11h55-18h10 : il calcule 7h alors que reellement ya 6h15 donc resultat 6h
toutes mes autres simul de planing marchent ya que la ou ca beuge bizarre???
je viens de testé les solution de eric et vaucluse (pépé je ne peux pas ouvrir le doc sur l'ordi ou je suis)
Au premier abord les formules paraissaient fonctionner mais a force d'essayer des horaires différents ya desfois ou ca ne marche pas pour les 2 formules :
pour les minutes commencant a 25 et se terminant a 40 ex : 9h25-16h40 : il calcule 8h alors que réellement ya 7h15 donc resultat 7h
pour les minutes commencant 55 et se terminant 10 ex : 11h55-18h10 : il calcule 7h alors que reellement ya 6h15 donc resultat 6h
toutes mes autres simul de planing marchent ya que la ou ca beuge bizarre???
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 419
Modifié par Vaucluse le 17/09/2011 à 12:47
Modifié par Vaucluse le 17/09/2011 à 12:47
Bonjour
Exact. Le problème (que je connaissais mais que j'ai oublié!!) vient du code MOD.
Le calcul renvoie parfois une valeur avec des décimales infimes que l'affichage ne ressort pas, mais qui fait qu'excel considère différemment le <=1 de la condition selon ces décimales.
Pour régler le problème:
=SI(ARRONDI(MOD((D5-C5)*96;4);5)<=1;ARRONDI.INF((D5-C5)*24;0);ARRONDI.SUP((D5-C5)*24;0))
qui élimine les décimales après cinq chiffres derrière la virgule.
et pour la formule d'Eric;, même combat:
=(ENT((B1-A1)*24)+ARRONDI((MOD((B1-A1)*24;1)>0.25)/24;5)
Ca devrait aller mieux
crdlmnt
ps
pour confirmation:dans le cas 11:55 à 18:10, le code MOD sans arrondi renvoie:
1,00000000000001 donc >1
Exact. Le problème (que je connaissais mais que j'ai oublié!!) vient du code MOD.
Le calcul renvoie parfois une valeur avec des décimales infimes que l'affichage ne ressort pas, mais qui fait qu'excel considère différemment le <=1 de la condition selon ces décimales.
Pour régler le problème:
=SI(ARRONDI(MOD((D5-C5)*96;4);5)<=1;ARRONDI.INF((D5-C5)*24;0);ARRONDI.SUP((D5-C5)*24;0))
qui élimine les décimales après cinq chiffres derrière la virgule.
et pour la formule d'Eric;, même combat:
=(ENT((B1-A1)*24)+ARRONDI((MOD((B1-A1)*24;1)>0.25)/24;5)
Ca devrait aller mieux
crdlmnt
ps
pour confirmation:dans le cas 11:55 à 18:10, le code MOD sans arrondi renvoie:
1,00000000000001 donc >1
merci j'ai enfin ma solution :
=SI(ARRONDI(MOD((C6-B6)*96;4);5)<=1;ARRONDI.INF((C6-B6)*24;0);ARRONDI.SUP((C6-B6)*24;0))
merci vaucluse
pour ta solution eric =(ENT((C6-B6)*24)+(MOD((C6-B6-"00:00:01")*24;1)>0,25))/24 il se produit une erreur au heure ronde ex : 10h00-12h00 il calcule 3h ^^ merci pour de ta aide
et pour la formule =(ENT((B1-A1)*24)+ARRONDI((MOD((B1-A1)*24;1)>0.25)*1)/24;5) il me dit qu'il ya une erreur a *1
grand merci pour votre coup de pouce j'aurai pas réussi sans votre aide
j'espere que ce topic pourra aider d'autre personne
=SI(ARRONDI(MOD((C6-B6)*96;4);5)<=1;ARRONDI.INF((C6-B6)*24;0);ARRONDI.SUP((C6-B6)*24;0))
merci vaucluse
pour ta solution eric =(ENT((C6-B6)*24)+(MOD((C6-B6-"00:00:01")*24;1)>0,25))/24 il se produit une erreur au heure ronde ex : 10h00-12h00 il calcule 3h ^^ merci pour de ta aide
et pour la formule =(ENT((B1-A1)*24)+ARRONDI((MOD((B1-A1)*24;1)>0.25)*1)/24;5) il me dit qu'il ya une erreur a *1
grand merci pour votre coup de pouce j'aurai pas réussi sans votre aide
j'espere que ce topic pourra aider d'autre personne
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 419
Modifié par Vaucluse le 17/09/2011 à 19:46
Modifié par Vaucluse le 17/09/2011 à 19:46
impeccable lola..
curieux ce *1 qu'Eric avait placé dans sa première proposition (message 2) qu'il n'a pas reporté dans le message 7!
sans le *1 la formule doit fonctionner aussi
bonne route
curieux ce *1 qu'Eric avait placé dans sa première proposition (message 2) qu'il n'a pas reporté dans le message 7!
sans le *1 la formule doit fonctionner aussi
bonne route
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 249
17 sept. 2011 à 18:04
17 sept. 2011 à 18:04
Salut vaucluse,
le * 1 en fait je l'avais mis par sécurité pour forcer la conversion, mais comme il y avait d'autres opérations en fait il n'était pas nécessaire.
Et oui, j'ai rajouté une belle erreur en voulant corriger les qcq valeurs erronées ;-)
eric
le * 1 en fait je l'avais mis par sécurité pour forcer la conversion, mais comme il y avait d'autres opérations en fait il n'était pas nécessaire.
Et oui, j'ai rajouté une belle erreur en voulant corriger les qcq valeurs erronées ;-)
eric
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 419
Modifié par Vaucluse le 17/09/2011 à 19:51
Modifié par Vaucluse le 17/09/2011 à 19:51
Bonsoir Eric
je regardes encore cette formule avec le *1 sans comprendre pourquoi cela gène, et je m'aperçois que tu n'as pas encore pris l'habitude de remplacer les points que tu utilises pour des décimales par des virgules, utilisées par la majorité des demandeurs
le problème doit être là, en fait,dans le 0.25
bon dimanche
je regardes encore cette formule avec le *1 sans comprendre pourquoi cela gène, et je m'aperçois que tu n'as pas encore pris l'habitude de remplacer les points que tu utilises pour des décimales par des virgules, utilisées par la majorité des demandeurs
le problème doit être là, en fait,dans le 0.25
bon dimanche
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 249
17 sept. 2011 à 21:27
17 sept. 2011 à 21:27
Le *1 ne gène pas, juste qu'il n'est pas pas nécessaire dans ce cas car il y a d'autres opérations numériques qui convertiront la chaine
Sinon désolé, mais moi je préfère les points et c'est pour ça que j'ai changé le paramétrage par défaut d'excel...
Donc ça restera comme ça :-)
eric
Sinon désolé, mais moi je préfère les points et c'est pour ça que j'ai changé le paramétrage par défaut d'excel...
Donc ça restera comme ça :-)
eric
pépé35530
Messages postés
2942
Date d'inscription
vendredi 1 mai 2009
Statut
Membre
Dernière intervention
19 mars 2016
1 386
16 sept. 2011 à 19:19
16 sept. 2011 à 19:19
Bonjour,
Un piste :
http://www.cijoint.fr/cjlink.php?file=cj201109/cijfubem1x.xlsx
A+
pépé
Un piste :
http://www.cijoint.fr/cjlink.php?file=cj201109/cijfubem1x.xlsx
A+
pépé