Anomalie sur certains calculs horaires

Victor21

XLDnaute Barbatruc
Bonjour à tous :)

Pour faire suite à ce post resté sans réponse :( , j'ai approfondi la recherche et découvert une anomalie que je ne m'explique pas :
De 12:18 à 23:33, toutes les 45 minutes, l'ajout d'une minute ne correspond pas exactement à la valeur attendue :
12:18 + 0:01 n'est pas égal à 12:19
(voir pj).

Je pensais qu'Excel maîtrisait ce genre de calculs, et m'aperçois qu'il n'en est rien.
Rencontrez-vous ce même problème ?
Comment le contournez-vous ?
La génération d'une liste d'heures, incrémentée d'une minute par VBA est-elle plus fiable ?
 

Pièces jointes

  • Une minute de plus.xlsx
    13.3 KB · Affichages: 54

job75

XLDnaute Barbatruc
Re : Anomalie sur certains calculs horaires

Bonjour Patrick,

Ce genre de problème est lié au fait qu'Excel ne conserve que 15 chiffres significatifs dans les calculs.

Donc la ou les dernières décimales peuvent être entachées d'erreur.

Quand on veut comparer des heures, il faut les tronquer, 8 décimales (précision de 1/1000ème de seconde) c'est largement suffisant :

Code:
=TRONQUE(A3;8)=TRONQUE(B3;8)
A+





Donc quand on incrémente de heures les erreurs sur la dernière décimale se cumulent
 

Si...

XLDnaute Barbatruc
Re : Anomalie sur certains calculs horaires

salut
Comment le contournez-vous ?
Le traitement des dates et horaires n’est pas ma tasse de thé tout comme celui des formats donc SGDSi...

Pour ne pas la boire trop et pour obtenir, par exemple, 12:19 à partir de 12:18 j’additionne 1/1440* à 12:18 et cela sans avoir à arrondir ni tronquer et aussi bien avec le format horaire 00:00 que le format [h]:mm.
Bien sûr, j'incrémente de n minutes en ajoutant n/1440.

*1440 =24*60
 

job75

XLDnaute Barbatruc
Re : Anomalie sur certains calculs horaires

Hello Si...

Il n'y a jamais de problème avec l'incrémentation des heures sur Excel, toutes les méthodes sont bonnes puisqu'il y a quand même 15 décimales utilisées et qu'on affiche des minutes ou des secondes (voire des 1/10èmes de seconde).

Le problème posé ici c'est la comparaison des résultats obtenus, il me semble l'avoir dit clairement.

A+
 

Modeste geedee

XLDnaute Barbatruc
Re : Anomalie sur certains calculs horaires

Bonsour®
sans vouloir philosopher...
:rolleyes: dans l'absolu, le temps est "continu" !

la représentation du temps en terme numérique abouti donc à pointer vers l'ensemble des nombres irrationnels.(incommensurabilité)

au regard de notre cher logiciel et sa précision limitée à 15 chiffres significatifs (ce qui est le cas de beaucoup d'autres logiciels)
et dont les représentations numériques correspondent à un certain nombre d'octets.
une minute represente 1/1440 de jour soit :
6,944444444444444e-4 jour (nombre irrationnel)
Presque tous les nombres irrationnels sont transcendants
La somme ou le produit d'un nombre transcendant et d'un nombre algébrique non nul est un nombre transcendant (mais ce n'est pas nécessairement le cas de la somme ou du produit de deux nombres transcendants).
(https://fr.wikipedia.org/wiki/Nombre_irrationnel)
ce qui fait que les cumuls (les calculs en général) sont entaché d'une approximations(certains diront arrondis) qui peut s'avérer non négligeables (et parfois incompréhensibles voir pièce jointe)
Capture.jpg

de là à maitriser cet état de fait...:D
et encore moins le contourner...:eek:

sauf à effectuer un arrondi à la 6 ou 7eme décimale pour tous les calculs horaires ...:(
JOB75 a dit : TRONQUE à 1/10000 eme de seconde :)
 

Pièces jointes

  • Capture.jpg
    Capture.jpg
    120.9 KB · Affichages: 57
  • victor21(2).xlsx
    19.7 KB · Affichages: 43
Dernière édition:

Statistiques des forums

Discussions
312 203
Messages
2 086 191
Membres
103 152
dernier inscrit
Karibu