Bonjour, j'aimerais additionner les valeurs de différentes cellules selon la
couleur de remplissage dans laquelle elles de trouvent. Par exemple, faire la
somme de tous les chiffres qui ont le jaune comme couleur de cellule. J'ai
pensé à cette formule mais ça ne fonctionne pas??
La fonction si:
=SI(couleurderemplissage=jaune(C12:L12);SOMME(C12:L12);"")
ou peut-être la fonction somme.si serait plus approprié?
Dans tous les cas j'ai une erreur sur le nom qui est rapporté par Excel.
Je travail avec une fonction d'un classeur excel et non des macros.
Merci
Dominique
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
ChrisV
Bonjour DomDom,
Dans un module du classeur:
Function SomCool(Zone As Range, couleur As String) Application.Volatile True Select Case couleur Case "rouge": couleur = 3 Case "vert": couleur = 50 Case "jaune": couleur = 6 Case "bleu": couleur = 5 Case "gris": couleur = 15 Case "orange": couleur = 40 End Select For Each cell In Zone If cell.Interior.ColorIndex = couleur Then cvSomme = _ cvSomme + cell.Value Next SomCool = cvSomme End Function
Sur l'onglet souhaité, avec la plage de cellules "colorées" nommée ici Zn =SomCool(Zn;"jaune")
ChrisV
"DomDom" a écrit dans le message de news:
Bonjour, j'aimerais additionner les valeurs de différentes cellules selon la couleur de remplissage dans laquelle elles de trouvent. Par exemple, faire la somme de tous les chiffres qui ont le jaune comme couleur de cellule. J'ai pensé à cette formule mais ça ne fonctionne pas?? La fonction si: =SI(couleurderemplissage=jaune(C12:L12);SOMME(C12:L12);"") ou peut-être la fonction somme.si serait plus approprié? Dans tous les cas j'ai une erreur sur le nom qui est rapporté par Excel. Je travail avec une fonction d'un classeur excel et non des macros. Merci Dominique
Bonjour DomDom,
Dans un module du classeur:
Function SomCool(Zone As Range, couleur As String)
Application.Volatile True
Select Case couleur
Case "rouge": couleur = 3
Case "vert": couleur = 50
Case "jaune": couleur = 6
Case "bleu": couleur = 5
Case "gris": couleur = 15
Case "orange": couleur = 40
End Select
For Each cell In Zone
If cell.Interior.ColorIndex = couleur Then cvSomme = _
cvSomme + cell.Value
Next
SomCool = cvSomme
End Function
Sur l'onglet souhaité, avec la plage de cellules "colorées" nommée ici Zn
=SomCool(Zn;"jaune")
ChrisV
"DomDom" <DomDom@discussions.microsoft.com> a écrit dans le message de news:
41826AB7-14F8-4429-BE1F-7B65CBC43CC1@microsoft.com...
Bonjour, j'aimerais additionner les valeurs de différentes cellules selon
la
couleur de remplissage dans laquelle elles de trouvent. Par exemple, faire
la
somme de tous les chiffres qui ont le jaune comme couleur de cellule. J'ai
pensé à cette formule mais ça ne fonctionne pas??
La fonction si:
=SI(couleurderemplissage=jaune(C12:L12);SOMME(C12:L12);"")
ou peut-être la fonction somme.si serait plus approprié?
Dans tous les cas j'ai une erreur sur le nom qui est rapporté par Excel.
Je travail avec une fonction d'un classeur excel et non des macros.
Merci
Dominique
Function SomCool(Zone As Range, couleur As String) Application.Volatile True Select Case couleur Case "rouge": couleur = 3 Case "vert": couleur = 50 Case "jaune": couleur = 6 Case "bleu": couleur = 5 Case "gris": couleur = 15 Case "orange": couleur = 40 End Select For Each cell In Zone If cell.Interior.ColorIndex = couleur Then cvSomme = _ cvSomme + cell.Value Next SomCool = cvSomme End Function
Sur l'onglet souhaité, avec la plage de cellules "colorées" nommée ici Zn =SomCool(Zn;"jaune")
ChrisV
"DomDom" a écrit dans le message de news:
Bonjour, j'aimerais additionner les valeurs de différentes cellules selon la couleur de remplissage dans laquelle elles de trouvent. Par exemple, faire la somme de tous les chiffres qui ont le jaune comme couleur de cellule. J'ai pensé à cette formule mais ça ne fonctionne pas?? La fonction si: =SI(couleurderemplissage=jaune(C12:L12);SOMME(C12:L12);"") ou peut-être la fonction somme.si serait plus approprié? Dans tous les cas j'ai une erreur sur le nom qui est rapporté par Excel. Je travail avec une fonction d'un classeur excel et non des macros. Merci Dominique
Benead
Bonsoir DomDOm,
Sous XL2000, Il faut une fonction personnalisée pour le faire, comme celle-ci :
Function SommeCouleur(Plage As Range, IndexCouleur As Byte) As Double Dim Cellule As Range, Somme As Double, Couleur As Byte Application.Volatile If Not Plage Is Nothing Then For Each Cellule In Plage Couleur = IIf(Cellule.Interior.ColorIndex = -4142, 0, Cellule.Interior.ColorIndex) If Couleur = IndexCouleur _ And IsNumeric(Cellule) Then Somme = Somme + Cellule.Value End If Next Cellule End If SommeCouleur = Somme End Function
Dans une cellule tu mets : =SOMMECOULEUR(TaPlage;Couleur) ou Couleur représente un nombre entre 0 (Automatique) et 56 :dans l'aide de ColorIndex, tu trouveras les équivalences couleur (1=noir,2=blanc, 3=rouge...)
A+ Benead XL2000
DomDom a écrit:
Bonjour, j'aimerais additionner les valeurs de différentes cellules selon la couleur de remplissage dans laquelle elles de trouvent. Par exemple, faire la somme de tous les chiffres qui ont le jaune comme couleur de cellule. J'ai pensé à cette formule mais ça ne fonctionne pas?? La fonction si: =SI(couleurderemplissage=jaune(C12:L12);SOMME(C12:L12);"") ou peut-être la fonction somme.si serait plus approprié? Dans tous les cas j'ai une erreur sur le nom qui est rapporté par Excel. Je travail avec une fonction d'un classeur excel et non des macros. Merci Dominique
Bonsoir DomDOm,
Sous XL2000, Il faut une fonction personnalisée pour le faire, comme celle-ci :
Function SommeCouleur(Plage As Range, IndexCouleur As Byte) As Double
Dim Cellule As Range, Somme As Double, Couleur As Byte
Application.Volatile
If Not Plage Is Nothing Then
For Each Cellule In Plage
Couleur = IIf(Cellule.Interior.ColorIndex = -4142, 0, Cellule.Interior.ColorIndex)
If Couleur = IndexCouleur _
And IsNumeric(Cellule) Then
Somme = Somme + Cellule.Value
End If
Next Cellule
End If
SommeCouleur = Somme
End Function
Dans une cellule tu mets :
=SOMMECOULEUR(TaPlage;Couleur)
ou Couleur représente un nombre entre 0 (Automatique) et 56 :dans l'aide de ColorIndex, tu trouveras les équivalences
couleur (1=noir,2=blanc, 3=rouge...)
A+
Benead
XL2000
DomDom a écrit:
Bonjour, j'aimerais additionner les valeurs de différentes cellules selon la
couleur de remplissage dans laquelle elles de trouvent. Par exemple, faire la
somme de tous les chiffres qui ont le jaune comme couleur de cellule. J'ai
pensé à cette formule mais ça ne fonctionne pas??
La fonction si:
=SI(couleurderemplissage=jaune(C12:L12);SOMME(C12:L12);"")
ou peut-être la fonction somme.si serait plus approprié?
Dans tous les cas j'ai une erreur sur le nom qui est rapporté par Excel.
Je travail avec une fonction d'un classeur excel et non des macros.
Merci
Dominique
Sous XL2000, Il faut une fonction personnalisée pour le faire, comme celle-ci :
Function SommeCouleur(Plage As Range, IndexCouleur As Byte) As Double Dim Cellule As Range, Somme As Double, Couleur As Byte Application.Volatile If Not Plage Is Nothing Then For Each Cellule In Plage Couleur = IIf(Cellule.Interior.ColorIndex = -4142, 0, Cellule.Interior.ColorIndex) If Couleur = IndexCouleur _ And IsNumeric(Cellule) Then Somme = Somme + Cellule.Value End If Next Cellule End If SommeCouleur = Somme End Function
Dans une cellule tu mets : =SOMMECOULEUR(TaPlage;Couleur) ou Couleur représente un nombre entre 0 (Automatique) et 56 :dans l'aide de ColorIndex, tu trouveras les équivalences couleur (1=noir,2=blanc, 3=rouge...)
A+ Benead XL2000
DomDom a écrit:
Bonjour, j'aimerais additionner les valeurs de différentes cellules selon la couleur de remplissage dans laquelle elles de trouvent. Par exemple, faire la somme de tous les chiffres qui ont le jaune comme couleur de cellule. J'ai pensé à cette formule mais ça ne fonctionne pas?? La fonction si: =SI(couleurderemplissage=jaune(C12:L12);SOMME(C12:L12);"") ou peut-être la fonction somme.si serait plus approprié? Dans tous les cas j'ai une erreur sur le nom qui est rapporté par Excel. Je travail avec une fonction d'un classeur excel et non des macros. Merci Dominique