Bonsoir à tous.
En effet, le problème vient de la mise en forme conditionnelle.
Cells(i, j).FormatConditions(1).ColorIndex = 3 permet juets de désigner quelle couleur doit être choisie par Excel si la condition est remplie. Cela ne nous dit absolument pas si la condition est remplie ou non.
J'ai un petit doute sur ce que tu veux vraiment: d'après ta macro Compte_couleur, tu ne comptes que le nombre de cases rouges sur la même ligne entre les colonnes G, H,I, et donc la réponse ne peut être que 0,1,2,ou3. Si c'est bien ce que tu recherches, pourquoi ne pas utiliser une formule toute simple: en K1, puis à étendre sur K2, ..., K1287 à l'aide de la croix:
=si(ou(G1<20;G1>100);1;0)+si(ou(H1<3;H1>25;1;0)+si(ou(I1<0;I1>1,2);1;0)
Cela te permet de conserver la mise en forme conditionnelle, car sinon, tu devras relancer la macro d'Alain ou de Yo à chaque changement de valeur.
Enfin, c'est juste une idée, en espérant t'aider.