Incohérence formule Mod et somme de durées

Gabriel Puig 40 Points de réputation
2026-03-03T15:45:59.1733333+00:00

Bonjour, voici le descriptif de mon problème :

Je cherche à calculer dans Excel un nombre de demi journées à partir d'un total d'heures (sur la base d'une demi-journée = 4 heures), ainsi que le nombre d'heures au-delà des demi journées calculées.

Par exemple : 24h = 6 demi journées ; 26h = 6 demi journées et 2 heures.

J'utilise pour cela les formules suivantes :

  • demi journées : *ent(24**C10/4)
  • heures au-delà, arrondies à l'entier supérieur : *arrondi.sup(mod(24**C10;4);0)

C10 est la cellule contenant le total des durées de la colonne C. Les durées en question sont au format hh:mm et sont le résultat d'une heure de fin (hh:mm) - heure de début (hh:mm), respectivement en colonnes B et A.

Etant donné que 24h pour excel représente la valeur 1 : une durée totale de 24h vaut numériquement 1. Donc pour ramer au nombre d'heures réelles : 24*1 = 24h ; ent(24/4) = 6 => 24h = 6 demi journées.

Même principe pour les heures supplémentaires : durée totale de 24h = 1 => 24*1 = 24 ; reste de la division par 4 : mod(24;4) = 0 => pas d'heures supplémentaires (24/4 = 6 reste 0).

Pour une durée totale de 26h, on obtient donc en théorie avec ces mêmes formules : 6 demi journées et 2h (26/4 = 6 reste 2).

Le résultat est cohérent quand on a ce jeu d'essai :

6:00

6:00

6:00

6:00

=> total = 24h ; les formules ci-dessus donnent bien 6 demi journées et 0 heures supplémentaires. On peut rajouter une 5e ligne à ce jeu d'essai avec 1:00, 2:00, 3:00 ou 4:00. On obtient respectivement 6 demi journée et 1h, 2h, 3h supplémentaires et enfin 7 demi journées pour la valeur 4:00 en 5e ligne.

Mais le résultat attendu ne fonctionne plus avec ce jeu d'essai :

4:00

4:00

4:00

4:00

4:00

4:00

=> total = 24h ; les formules ci-dessus pour ce jeu total de 24h donnent 6 demi-journées et 4h, soit 28h et non pas 24h.

J'ai simplifié pour l'exemple, mais on peut remplacer une ligne de 4:00 -> 3:30, et une autre ligne 4:00 -> 4:30. On a toujours un total de 24h pour les 6 lignes (4:00+4:00+3:30+4:30+4:00+4:00). Le résultat donne encore 6 demi journées et 4h.

Avec le jeu (4:15+4:00+3:30+4:30+4:00+3:45) = 24h, On obtient bien en revanche 6 demi-journées et 0h supplémentaires, donc le bon résultat.

Désolé pour ce développement un peu long, mais j'aimerais svp savoir comment faire pour obtenir un résultat cohérent de demi journées et heures au-delà du nombre de demi journées calculées, quelque soit les valeurs des durées additionnées ?

Version Excel : Microsoft® Excel® pour Microsoft 365 (Version 2602 Build 16.0.19725.20126) 64 bits

Merci

Microsoft 365 et Office | Excel | Pour les entreprises | Windows
0 commentaires Aucun commentaire

Réponse acceptée par l’auteur de la question
Nam-D 3,985 Points de réputation Personnel externe Microsoft Modérateur
2026-03-04T10:36:49.45+00:00

Note : Cette réponse a été traduite dans votre langue, donc certains formulés peuvent ne pas être parfaitement naturels. De plus, la formule testée sera en version anglaise. Merci pour votre patience et votre compréhension. 

Bonjour @Gabriel Puig,

Merci d'avoir posté votre question sur le forum de questions-réponses de Microsoft. 

D'après votre description, vous êtes confronté à un problème classique de précision en virgule flottante dans Excel. Même lorsque votre total visible est exactement 24:00, la décimale sous-jacente peut être 23,9999999 ou 24,0000001. Lorsque vous faites ensuite MOD(24*C10,4) et arrondi vers le haut, de petites erreurs d'arrondi peuvent devenir des heures supplémentaires. 

Pour résoudre ce problème, vous devez travailler en minutes entières, puis calculer les demi-journées et le reste à partir de cette valeur entière en suivant ces étapes : 

  1. Caculate minute totale  "=ROUND(C10*1440, 0) » 
  2. Nombre de demi-journées de caculation  « = QUOTIENT(ROND(C10*1440,0), 240) » 
  3. Heures de caculation restantes  "=MOD(ROUND(C10*1440,0), 240) / 60 »  

J'ai testé cela de mon côté, et j'ai remarqué qu'en utilisant la formule SUM, le total s'affiche à 24:00 car Excel arrondi le résultat. Cependant, en utilisant la méthode de calcul alternative, la valeur se résout exactement à 0:00, indiquant la véritable valeur sous-jacente. 

Image de l’utilisateur

Image de l’utilisateur

Note : Veuillez comprendre qu'en tant que modérateur de forum, mon objectif principal est de fournir des conseils utiles et un soutien à travers les étapes générales de dépannage. Bien que je n'aie pas accès aux systèmes internes ni aux dispositifs de test nécessaires pour résoudre les problèmes backend/compte, j'apprécie vraiment votre compréhension de ces limites.  

J'espère que ces informations vous seront utiles. Si quelque chose n'est pas clair, n'hésitez pas à me contacter.  


Si la réponse est utile, veuillez cliquer sur « Accepter la réponse » et veuillez la voter positivement. Si vous avez des questions supplémentaires sur cette réponse, veuillez cliquer sur « Commenter ».    

Si vous souhaitez recevoir la notification par email correspondante à ce fil, veuillez suivre les étapes de notre documentation pour activer les notifications par e-mail. 

Cette réponse a-t-elle été utile ?

1 personne a trouvé cette réponse utile.

0 réponses supplémentaires

Trier par : Les plus anciens

Votre réponse

Les réponses peuvent être marquées comme « Acceptées » par l’auteur de la question et « Recommandées » par les modérateurs, ce qui aide les utilisateurs à savoir que la réponse a résolu le problème de l’auteur.