XL 2013 Formule SI ET qui ne fonctionne pas toujours.

AHAMSTER

XLDnaute Nouveau
Bonjour à tous,

j'ai créé un tableau pour faire une representation graphique du temps passé sur différentes taches.
En entrant une heure de début en colonne C et une heure de fin en colonne D, un certain nombre de cases doivent se colorer. Pour celà j'utilise la combinaison de SI et de ET qui va comparer les heures de debut et de fin aux heures indiquées en ligne 4. Si le retour est VRAI, le chiffre 1 est renvoyé dans la case et une mise en forme conditionnelle s'occupe du reste.
Tout cela fonctionne... presque à chaque fois ! Je me suis rendu compte que parfois la formule retourne FAUX alors qu'elle devrait renvoyer VRAI.
Je n'arrive pas à comprendre pourquoi :mad:

Dans le fichier excel en piece jointe,, je mets bien en evidence le disfonctionnement.

Quelqu'un aurait il une idée de la cause de ce disfonctionnement ?

Merci d'avance pour vos réponses

André
 

Pièces jointes

  • Gannt en heures.xlsx
    25.8 KB · Affichages: 6
Solution
Bonjour Ahamster, Gbinforme,
dans certains cas le résultat n'est pas identique en arrondi de formule.
En effet 00:15 est égal à 0.25/24 soit 0.010416666666666..... soit un nombre irrationnel.
Si on ajoute plusieurs fois ce genre de nombre alors on finit par avoir des erreurs d'arrondi.
Par ex AG4 vaut 11:00 et en décimal : 0.458333333333334
D32 vaut aussi 11:00 mais sa valeur décimale est de : 0.458333333333333
Donc AG4 n'est pas égal à D32. XL arrondi ses calculs à 1E-15.
On peut résoudre ça en comparant les arrondis avec :
VB:
=SI(ET(ARRONDI($C5;10)<=ARRONDI(E$4;10);ARRONDI($D5;10)>=ARRONDI(E$4;10));1;"")

gbinforme

XLDnaute Impliqué
Bonjour,
Dans ta colonne D tu as une heure saisie et dans ta ligne 4 tu as une heure de formule.
Comme tu testes l'égalité, > et <, dans certains cas le résultat n'est pas identique en arrondi de formule.
Ce n'est pas Si ou ET qui sont donc en cause et si tu saisis ta ligne 4 cela fonctionne.
 
Dernière édition:

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Ahamster, Gbinforme,
dans certains cas le résultat n'est pas identique en arrondi de formule.
En effet 00:15 est égal à 0.25/24 soit 0.010416666666666..... soit un nombre irrationnel.
Si on ajoute plusieurs fois ce genre de nombre alors on finit par avoir des erreurs d'arrondi.
Par ex AG4 vaut 11:00 et en décimal : 0.458333333333334
D32 vaut aussi 11:00 mais sa valeur décimale est de : 0.458333333333333
Donc AG4 n'est pas égal à D32. XL arrondi ses calculs à 1E-15.
On peut résoudre ça en comparant les arrondis avec :
VB:
=SI(ET(ARRONDI($C5;10)<=ARRONDI(E$4;10);ARRONDI($D5;10)>=ARRONDI(E$4;10));1;"")
 

Pièces jointes

  • Gannt en heures (1).xlsx
    23.6 KB · Affichages: 2

Dranreb

XLDnaute Barbatruc
Bonjour.
Il faut savoir que les heures ne peuvent en général pas être enregistrées selon la valeur montrée par le format d'heure de façon parfaitement exacte parce que leur unité de temps est le jour. Même si ç'était enregistré en numération décimale il y aurait bien des valeurs en jours qui finiraient par
des ,3333… et ,6667 arrondis. Il vaut mieux éviter de les additionner au risque d'accumuler les erreurs d'arrondis. Par exemple il serait préférable, en E4, propagé sur 47 colonnes d'utiliser :
Code:
=(COLONNE()+11)/96
En E5, à propager sur 46 lignes et 47 colonnes, cette formule s’accommoderait cependant de ces imprécisions :
Code:
=SI(ET(ENT($C5*96+0,5)<=ENT(E$4*96+0,5);ENT($D5*96+0,5)>=ENT(E$4*96+0,5));1;"")
 
Dernière édition:

AHAMSTER

XLDnaute Nouveau
Merci à tous !
Effectivement les heures en ligne 4 étaient le résultat d'une formule pour la simple raison que je voulais m'eviter de me palucher toute la saisie et pour le cas échéant, utiliser une autre plage horaire ou une autre incrementation que le quart d'heure.
Dès la première réponse, j'ai saisie les heures et ça fonctionne parfaitement. Vos réponses suivantes apportent en plus une alternative qui me permet de conserver les heures sous forme de formules
Encore une fois, merci beaucoup pour les explications et les solutions
J'ai une petite question subsidiaire : intellectuellement, ça me derange un peu qu'un quart d'heure soit représenté par 2 cases colorées, qu'une demi heure correspondent à 3 cases colorées, etc. Ce n'est pas logique (mais c'est un détail) Quelqu'un aurait une solution, ou même seulement une idée de comment le représenter ?
 

AHAMSTER

XLDnaute Nouveau
Bonjour à tous,

Un essai pour les 1/4 d'heures

JHA
Bonjour et merci pour votre réponse.
Dans cette solution, le nombre de cases colorées correspond bien au nombre de 1/4 d'heures. Mais je trouve encore moins satisfaisant que dans mon fichier initial que la case du quart d'heure de fin ne soit pas coloré.
C'est l'éternel problème des clotures et des poteaux.
En fait, il faudrait pouvoir écrire les heures sur le trait de la case.
 

Discussions similaires

Statistiques des forums

Discussions
312 935
Messages
2 093 738
Membres
105 805
dernier inscrit
belgacem.nahali