Mise en forme conditionnelle qui ne marche pas

Bonjour tout le monde !

Alors j'ai une question sur la mise en forme conditionnelle.

Les valeurs de ma matrice doivent apparaître en rouge lorsqu'elles sont inférieures à des valeurs de référence. Donc logiquement, j'ai mis dans la MFC : si la valeur de la cellule (de ma matrice) est inférieur à blabla (formule avec condition de ma valeur de référence), FORMAT => Rouge

Le problème, c'est que pour certaines valeurs, c'est l'inverse qui se passe... elles apparaissent en rouge alors qu'elles sont supérieures à la valeur de référence... J'ai pourtant refait le calcul à la main, et je retombe bien sur des valeurs de référence inférieures aux valeurs de ma matrice...

Par contre, si au lieu de mettre inférieur dans la MFC je mets supérieur, et bien là, elles redeviennent grises.

Si quelqu'un à une idée du problème...

Bonjour,

Il faudrait que tu nous en dises un peu plus.

Il s'agit peut-être d'un problème de référence absolue.

Dopnc, donnes nous la formule de ta MFC ou bien joins nous un extrait de ton fichier (sans données confidentielles)

A te (re)lire

@+

https://www.excel-pratique.com/~files/doc/fichier_envoi.xls

Voilà le fichier.

En T27, on peut voir que ça marche sans problème. Par contre en T26, ça bug, la référence est plus petite que la valeur de mon tableau, et pourtant, ça se met en rouge.

Il y a une macro active, c'est celle que m'a fait Myta, tu veras, ça met automatiquement la valeur de référence dans le commentaire, la classe 8)

reBonjour,

Peux tu nous décrire simplement quelles sont les conditions pour activer la Mise en Forme Conditionnelle.

Les formules que tu as mises me paraissent un peu complexes.

Et on doit pouvoir simplifier si tu nous donnes les règles.

A te (re)lire

Bon app

@+

OK, je sais que c'est complexe, mais je n'ai pas trouvé d'autre solution.

https://www.excel-pratique.com/~files/doc/rBfvqfichier_envoi.xls

En fait, ma condition est :

SI sur $B25:$N25 on a au moins un lieu (ou un rXX) dont la norme est de 10, alors le calcul de la valeur de référence est : (10 * 0.1 * Taille ) / facteur e (où 10 = norme)

Par contre, si aucun lieu n'a pour norme 10 alors, on a :

(40 * 0.1 * Taille ) / facteur e (où cette fois, la norme est de 40)

Donc, si la valeur de ma matrice est inférieure à la référence calculée à partir de la formule ci-dessus, est bien ça se met en rouge.

Je pense qu'il est également possible de modifier la formule de ma colonne A pour la simplifier mais je n'ai pas trouvé comment faire... Ce que je veux, c'est que cette colonne m'affiche la plus petite valeur de la plage des lieux $B25:$N25. En fait, je n'ai pas trouvé comment faire pour renvoyer les rXX à leur taille respective qui se trouve dans le tableau où sont répertoriés tous les lieux.

J'espère que tu pourras m'aider !

Merci

Re,

Un début de piste :

Pour ma part, dans ta MFC, il faut passer par : La formule est :

et là, je te propose ceci :

=SI(OU(NB.SI($B$25:$N$25;"R01");NB.SI($B$25:$N$25;"R02");NB.SI($B$25:$N$25;"R04");NB.SI($B$25:$N$25;"R06");NB.SI($B$25:$N$25;"R08");NB.SI($B$25:$N$25;"R16");NB.SI($B$25:$N$25;"R23");NB.SI($B$25:$N$25;"R25");NB.SI($B$25:$N$25;"R26"));((1*$A26*0.001)/$R26)*1000;((4*$A26*0.001)/$R26)*1000)

Le souci, c'est que dans une MFC, on a besoin que d'une seule réponse au test : celui qui va activer la MFC.

Là, tu nous donnes la réponse si VRAI et si FAUX.

si VRAI : ((1*$A26*0.001)/$R26)*1000

si FAUX : ((4*$A26*0.001)/$R26)*1000

Pour moi, la condition FAUX ne me paraît pas indipensable

Par contre, pour la condition VRAI, ta formule doit être comparée à quoi : supérieur à quelque chose ? ou inférieur à autre chose ?

Pour finir, comme seule la condition VRAI est prise en compte par la MFC, on peut se passer du SI en ajoutant les différents tests avec ET

A te (re)lire toujours pour une meilleure compréhension.

@+

En fait que ce soit dans la condition FAUX ou VRAI, la comparaison se fait entre les valeurs qui se trouvent dans ma matrice (même s'il est vrai que dans la fiche que j'ai uploadé, il n'y a que 2 pauvres valeurs (T26 et T27) et les valeurs de référence qui sont justement calculées dans la MFC. Hors, le calcul de ces valeurs de référence dépendent du lieu où on se trouve.

Ainsi, j'ai mis en place cette condition afin de prendre en compte le lieu où l'on se trouve. Ce qui permet de dire : "Si un des lieux qui se trouve sur la plage $B26:$N26 contient un lieu dont la norme est 10 alors (CONDITION) ; la valeur de référence se calcule comme suit : ((10*0.1*taille)/facteur e) (VALEUR VRAIE ; par contre, si sur la plage $B26:$N26 aucune lieu n'a une norme de 10 alors le calcul de la valeur de référence se fait comme suit ((40*0.1*taille)/facteur e) (CONDITION FAUSSE)".

Si je ne met pas cette condition fausse, est bien si la plage $B26:$N26 ne contient aucun lieu avec 10 en norme, il n'y aura pas de comparaison... et donc, ça n'apparaitra jamais en rouge.

re,

à partir du moment où on a un lieu de norme 10 (bon, pour moi ça veut pas dire grand chose, mais peu importe), on calcule, d'après ta formule :

((1*$A26*0.001)/$R26)*1000

Mais comme l'indique son nom, une mise en forme conditionnelle demande une condition. A quoi doit être comparé le résultat de cette formule ?

Maintenant, s'il s'agit simplement de s'assurer qu'on a un lieu de norme 10, alors on a pas besoin des formules à la fin. Le OU(...;...;...;...) suffirait.

A te (re)lire

@+

thibo a écrit :

Mais comme l'indique son nom, une mise en forme conditionnelle demande une condition. A quoi doit être comparé le résultat de cette formule ?

la condition c'est que si la valeur de ma matrice est inférieure à

((1*$A26*0.001)/$R26)*1000 ou bien a ((4*$A26*0.001)/$R26)*1000

est bien la valeur de la matrice doit apparaitre en rouge.

J'espère que c'est clair car je n'arrive pas à le formuler autrement

rere,

Qu'appelles-tu valeur de ta matrice ?

Les cellules B26 à N26 constituent une matrice, mais qui ne contient que du texte.

Donc, de quelle matrice parles-tu ?

D'autre part, je viens de constater que ta MFC est située sur la ligne 26. Donc, il faut sans doute adapter la MFC pour qu'lle fasse référence à cette ligne 26.

@+

thibo a écrit :

rere,

Qu'appelles-tu valeur de ta matrice ?

Les cellules B26 à N26 constituent une matrice, mais qui ne contient que du texte.

Donc, de quelle matrice parles-tu ?

D'autre part, je viens de constater que ta MFC est située sur la ligne 26. Donc, il faut sans doute adapter la MFC pour qu'lle fasse référence à cette ligne 26.

@+

Bon je crois qu'il y a erreur depuis le départ si tu ne vois pas ce qu'est ma matrice

https://www.excel-pratique.com/~files/doc/hwTXka_envoyer.xls

Sur ce doc, tu auras une idée de ma matrice (qui s'obtient par le croisement de chaque produit). C'est pour ça que je t'avais mis dans un précédent message :

"En fait que ce soit dans la condition FAUX ou VRAI, la comparaison se fait entre les valeurs qui se trouvent dans ma matrice (même s'il est vrai que dans la fiche que j'ai uploadé, il n'y a que 2 pauvres valeurs (T26 et T27) " Ces valeurs (T26 et T27) sont les valeurs de ma matrice que je veux comparer aux valeurs de référence donc on a fait les calculs (10*0.1*taille / facteur e) etc.....

J'espère qu'avec la feuille, tu comprendras mieux quelles sont les valeurs qui m'intéressent.

En tout cas, merci de prendre du temps pour m'aider !

re,

Le souci, c'est que ton fichier ne ressemble plus vraiment au premier.

Peux-tu rejoindre ton dernier fichier en mettant manuellement les couleurs de police que tu attends de la MFC sur les cellules à traiter.

J'ai bien une matrice de cellules en colonne T (T26 à T40).

Quelles sont les cellules à comparer à ces valeurs.

Je profite du temps que tu nous prépares ton fichier traité manuellement pour recharger quelques neurones.

@+

https://www.excel-pratique.com/~files/doc/envoye.xls

Bon j'ai réglé une partie du problèpe car j'avais fait une boulette dans la formule de ma MFC car la plage contenant les lieux était bloqué à celle de la première ligne, et elle ne changait donc pas avec le produit ! Ca m'a un peu débloqué. Mais j'ai toujours le même problème, regarde par exemple la cellule Z28. Dans ce cas, ma valeur de référence est de 2 et celle de la matrice de 7,5.

Donc, la valeur de la matrice étant supérieure, elle ne devrait pas se mettre en rouge, hors là, c'est rouge.

Tu pourras vérifier dans la MFC, je vois pas de problème (en tout cas, plus maintenant).

re,

Mettre toute la formule de calcul dans la MFC permet certes de gagner quelques cellules intermédiaires, mais complique assez considérablement la vérification. C'est le cas aujourd'hui. Il aurait été pratique de mettre les calculs de ta MFC dans une colonne que tu pouvais masquer ensuite.

Sinon, en Z28, la formule de ta MFC donne comme résultat 108.6956522 (et non pas 2 comme tu l'indiques dans ton dernier post). Je suis incapable de dire quel est le bon résultat entre le 2 et le 108.69, ne sachant pas le but du fichier (qui plus est, c'est sans doute hors de mes compétences professionnelles).

Donc, la valeur en Z28 étant de 7.50, elle est bien inférieure à 108.69 et donc le format rouge s'applique. Normal.

A toi de voir si le calcul de la formule de la MFC est le bon ou pas.

Bonne soirée

@+

C'est bon, le problème est réglé.

C'est vrai que dans la matrice, les valeurs dans les commentaires ne correspondent pas, mais c'est parce que j'ai modifié toute ma matrice avant de te l'envoyer, je l'ai rempli à la va-vite et j'ai effacé les chiffres qui donnaient le 7.50 en valeur de référence.

Enfin, normalement, tout est OK maintenant, il suffisait de simplifier un peu (même si ma formule fait toujours 3mètres de long...) et d'enlever quelques $

Merci encore !

Rechercher des sujets similaires à "mise forme conditionnelle qui marche pas"