Re : Couleurs dans cellule
Salut DPI et le forum
c'est un extrait d'un classeur qui fait 5 Mo, donc je ne peux pas le mettre en pièce jointe.
Qu'est-ce qu'on a besoin ? comme ton fichier d'essai : 4, 5 ligne avec une coloration manuelle et une explication de comment on sait que la cellule doit changer de couleur.
j'ai fait des macros pour arriver à mettre les couleurs suivant celles qui se trouvent en A et B quand elles sont individuelles
Comme je ne connais pas tes niveaux en formules ou en macro, difficile d'être de bon conseil. Toutefois, mélanger les genres apporte souvent plus de problèmes.
Soit tu fais des coloriage par MFC, soit par macro.
Si tu fais les deux :
- À ma connaissance, on ne peut pas déterminer si une MFC est active ou non.
- La MFC est prioritaire sur la macro
Dans mon exemple, je ne travaille que par MFC
D6 n'a qu'une condition : (Condition cellule A) ET (Condition cellule B), en une seule formule.
Si j'ai bien compris, sous 2007 et suivantes, le nombre de MFC est limité à 63.
Sous 2003 on ne peut en avoir que 3
On peut en avoir plus en passant par des macros, mais c'est plus complexe à mettre en œuvre, et il n'y a pas de retour à l'état précédent.
Pour ce que je comprend de ton cas : on va faire un exemple simple.
cellule A1, B1, C1 en vert
Si A1>0 => fond A1 = blanc
Si B1>0 => fond B1 = Bleu
Si fond A1 = blanc ET fond B1 = Bleu, on colorie C1 en rouge => ça, excel ne sait pas faire. Par contre il sait faire (A1>0) ET (B1>0) => fond C1 = rouge
Une condition est fausse si sa valeur est nulle (ou FAUX ou False)
Une condition est vraie si sa valeur n'est pas fausse (Ou VRAI ou True)
Le problème de la réalisation d'une MFC et que passer par le menu, faire la MFC, ressortir, la tester... c'est lourd.
Mais ce qu'on a besoin, c'est le résultat d'une formule qui donne 0 ou différent de 0
Formule A2 : =(A1>0)
A1 = 0, -1 ou -2 => A2=FAUX(false)
A1 = 1, 0,1 ou 10 => A2=VRAI(True) (idem pour B)
Formule C2 : =(A1>0)*(B1>0)
Comme Excel est pas trop bête, si les valeurs booléennes sont dans une opération, il les transforme en nombres. On se limite à 0 ou 1
Si A1=0, quelque soit B1, C2=0
Si B1=0, quelque soit A1, C2=0
si A1=1 et B1=1, alors C2=1
Il suffit de faire un copier/coller des formules de A2, B2 et C2 dans les MFC de A1, B1 et C1 en condition 1, case 2, avec la case 1 "la formule est" et ça marche.
S1 A1, avec sa MFC est Blanc, si tu changes sa couleur en jaune, il apparaît toujours en blanc => si c'est une macro qui fait le changement de couleur, ça donnera le même résultat.
A+