couleur cellule

  • Initiateur de la discussion jasmin
  • Date de début
J

jasmin

Guest
Bonjour,

je sais faire le somme des valeurs de cellules qui ont une certaine couleur.
mais je veux faire la somme des valeurs des cellules qui se trouvent 2 colonnes plus loin que celles qui ont la couleur en question
Pour être plus claire : si les cellules (1;1) et (3,1) sont vertes je veux faire la somme de (1;3) et (3,3)

j'ai essayé avec ça :
Function SommeCouleur(couleur As Integer)
Application.Volatile
If couleur = 0 Then couleur = xlColorIndexNone
For i = 34 To 40
Cells(i, 3).Select
If Selection.Interior.ColorIndex = couleur Then
Cells(i, 2).Select
SommeCouleur = SommeCouleur + Selection.Value
End If
Next
End Function
Maintenant il suffit d'écrire
=SOMMECOULEUR(4)

mais je n'y arive pas

merci tout plein !
pouhhh, c'est compliqué Excell !
 

JeanMarie

XLDnaute Barbatruc
Bonjour

En utilisant cette fonction
=SOMMEPROD(E$34:E$140*MatriceColorIf($C$34:$A$40;$I$1))

$I$1 contient la couleur à tester, pas le numéro d'index de la couleur, mais bien la couleur.

et une utilisation de la fonction
[Code:]Function MatriceColorIf(SearchArea As Range, BgColor As Range) As Variant
Dim Matrice() As Byte
Dim cell As Range
Application.Volatile True
ReDim Matrice(SearchArea.Rows.Count - 1)
MaCoul = BgColor.Interior.ColorIndex
J = 0
For Each cell In SearchArea
Matrice(J) = IIf(cell.Interior.ColorIndex = MaCoul, 1, 0)
J = J + 1
Next cell
MatriceColorIf = Application.Transpose(Matrice)
End Function[/code]

La function ne retourne une matrice composée de 1 ou de 0, qui indique l'état du comparateur. Cette matrice est exploitable dans les différentes fonction des feuilles de calcul.

@+Jean-Marie
 

Discussions similaires

Réponses
4
Affichages
220
Réponses
5
Affichages
341

Statistiques des forums

Discussions
312 304
Messages
2 087 062
Membres
103 449
dernier inscrit
pulco41