Mise en forme conditionnelle et total faux sur tableau d'horaires

Mesdames, Messieurs

J'ai réalisé un tableur de calcul d'horaires disponible en PJ.

J'ai mis une mise en forme conditionnelle de contrôle sur ma colonne W. J'ai 2 cellules qui apparaissent en rouge alors que la condition est vraie.

De même les totaux en T26 et W26 sont différents alors que tous les horaires des cellules concernés par la somme sont égaux.

J'avoue ne pas comprendre la raison de ces écarts.

Je vous remercie par avance pour l'aide que vous pourrez m'apporter sur ces points.

Bien à vous

Bonjour Meio291 ,

On va regarder le valeur en T11. On trouve : 0,0833333333333334

On va regarder le valeur en W11. On trouve : 0,0833333333333333

Les deux valeurs sont différentes. Certes de pas beaucoup mais elles sont différentes.

Cela peut se produire quand des valeurs résultant d'un calcul sont comparées. La représentation interne des nombres et les algorithmes internes de calculs en Excel sont les causes de ce phénomène.

Pour faire une comparaison, utiliser par exemple une inégalité ou une troncature :

ABS(T11-W11) > 0.000000001 ou TRONQUE(T11;10)<>TRONQUE(W11;10)


...

Bonjour,
Ou encore arrondir les valeurs avec 5 décimales ?
ARRONDI(T11; 5) et ARRONDI(W11; 5).
Cdlt.

Bonjour Jean-Eric, bonjour mafraise

Merci pour ces retours. La cause est assez fourbe ! Je vais mettre en œuvre vos solutions.

Toutefois, je ne comprends pas pourquoi il compare les valeurs approchées alors qu'il me semble avoir bien paramétré au format HH:mm, qui, du coup, sont "égales".

Y a t'il un moyen d'éviter qu'Excel compare des horaires stricts plutôt que des valeurs ?

Merci d'avance !

Re,

Un format ne change en rien la valeur qui est derrière l'affichage. La valeur de la cellule est la même quelque soit le format. Le format ne change que "ce qu'on voit" et pas "ce qui est".

On peut utiliser la fonction Texte() qui renvoie une valeur sous forme d'un texte (avec le format qu'on désire). Texte convertit donc la valeur en un texte. Comme vos données représentent des heures (éventuellement >24h) sans seconde, ça donnera :

TEXTE(T11;"[hh]:mm")=TEXTE(W11;"[hh]:mm")

Si vos données incluaient aussi des secondes significatives : TEXTE(T11;"[hh]:mm:ss")=TEXTE(W11;"[hh]:mm:ss")

Merci pour ces précisions et explications ! Je m'y mets

Bien à vous

Rechercher des sujets similaires à "mise forme conditionnelle total faux tableau horaires"