Bonjour Valentin et rhodo
Voici une solution un peu originale qui teste les couleurs sans faire usage du VBA.
Elle utilise les anciennes macro4 d'Excel qui ne sont plus mises en avant mais qui fonctionnent toujours.
Cette solution permet de tester différents éléments dans la cellule dont la couleur de fond.
Inconvénient : cette technologie ne détecte pas le changement de couleur comme une modification de la feuille et la macro ne se déclenche pas.
Aussi faut-il, quand on change la couleur de remplissage, compléter la manoeuvre en appuyant sur F2 (càd éditer le contenu de la cellule) et ENTREE ainsi on réinjecte le contenu se trouvant dans la cellule sans modification mais Excel enregistre un mouvement dans la feuille et lance la macro4.
C'est embêtant mais je pense vivable
Autre petite contrainte : le tableur doit être enregistré sous le type .XLSM soit un classeur Excel contenant des macros, même s'il n'y a pas de macro ou de VBA dans le classeur. L'usage de ces macro4, qui ressemble à une fonction, est pourtant bel et bien une macro.
Voici le tableur :
http://www.cjoint.com/c/GKujAgKXB1e
C'est le tableur élaboré par rhodo que j'ai aménagé
Dans les colonnes G ; H ; I je détecte le numéro de la couleur des colonnes A ; B ; C
C'est colonnes sont purement techniques et peuvent être masquées
La colonne F fait la somme des colonnes G H I
La colonne J était pour mes essais et peut être remise à "" : elle faisait ce que fait la colonne F. Sauf si tu désires mettre un contenu dans la colonne F. En ce cas, tu conserves la colonne J et tu modifies le test dans les MEFC pour réaliser le test sur la colonne J et tu effaces le contenu de la colonne F pour le remplacer par ce que tu désires.
Dans la MEFC je teste ces totaux et fait le remplissage couleur :
- si le total ne donne aucun des totaux prédéfinis, le remplissage reste "blanc"
- si tu ne veux pas voir les totaux, il suffit de modifier la MEFC et donner la même couleur que le remplissage aux caractères ainsi tu ne verras plus les totaux (il seront là mais invisibles)
Quant à la technique des macro4, elle consiste à créer un Nom et à introduire la macro4 dans la barre "Fait référence à"
Voici la macro 4 utilisée :
=LIRE.CELLULE(63;Feuil1!$C4)
Va voir dans la gestion des noms pour retrouver les Noms créés (Test_A ; Test_B ; Test_C)
A noter que 63 est le paramètre qui permet de détecter le remplissage de la cellule (tu devines qu'il y a de nombreux autres paramètres qui permettent de détecter d'autres informations sur la cellule). De même, il y a de nombreuses autres macro4 qui permettent d'effectuer d'autres tests.
Attention au signe $ (et à son absence : $C4) Cela veut dire que la colonne est figée mais que la ligne est volatile)
Si tu le désires je peux joindre un petit mémo qui explique tout cela longuement et il y a beaucoup de littérature sur le Net concernant les macro4
Merci de confirmer si la solution t'intéresse et, si tu veux que je l'adapte à ton tableau, envoies le moi par le site cjoint.com
Bonne continuation
Chris