Hello
C'est tout a fait faisable, il me semblait avoir déjà répondu a ceci ici mais je ne le retrouve pas.
Premiere fonction, qui permet de définir le numéro de couleur sur lequel on va faire la somme. Je pense que tu ne connais pas tous les numéros de couleur, cette fonction sera donc bien pratique :
Code :
- Function CouleurSelect(Cellule As Range)
- CouleurSelect = Cellule.Interior.ColorIndex
- End Function
|
Ex :
En A1 tu saisis 1, tu mets un fond "Rouge"
En B1 tu saisis la fonction qui retrouve la couleur :
=CouleurSelect(A1)
Et excel te renverra 3
3 c'est rouge
Ensuite, la fonction qui va te permettre de sommer en fonction de la couleur de fond. C'est une simple boucle qui va passer toutes les cellules que tu as sélectionnées, et qui va les aditionner si le fond est de la couleur demandée
Code :
- Function SommeCouleur(Plage As Range, Couleur As String)
- Application.Volatile True
- For Each Cellule In Plage
- If Cellule.Interior.ColorIndex = Couleur Then TotalSomme = TotalSomme + Cellule.Value
- Next
- SommeCouleur = TotalSomme
- End Function
|
Ex:
A1 : 1
A2 : 2 Fond Rouge
A3 : 3
A4 : 4
A5 : 5 Fond Rouge
A6 : 6
A7 : 7
A8 : 8 Fond Rouge
A9 : 9
En B1 :
=SommeCouleur(A:A;CouleurSelect(A2))
* 1er parametre de la fonction qui est la plage sur laquelle tu veux sommer
* 2nd parametre de la fonction. Comme on l'a vu dans l'exemple plus haut, on se sert de la fonction CouleurSelect() pour determiner quelle couleur est a sommer. En effet pour le Rouge ou le Bleu c'est facile. Mais va retrouver le code couleur de "Bleu Ciel" (C'est 33). Donc la on lui dit "Prend la couleur de fond de la cellule A2"
Excel te renvoit bien 15 (2+5+8)
Voila voila, si tu as des questions n'hesite pas 
Message édité par dje69r le 21-09-2010 à 15:46:48
---------------
Plus tu pédales moins vite, moins tu avances plus vite