OVH Cloud OVH Cloud

Somme si, particulière

3 réponses
Avatar
tip.tiptop
Bonsoir tout le monde,
C'est avec un peu de retard que je vous souhaite à toutes et tous un joyeux
noël.

Mon problème:
Est il possible de faire la somme de valeurs des cellules à la condition que
le format de celles-ci est par exemple "remplissage rouge" ?

3 réponses

Avatar
JB
Bonsoir,

Cacule la somme des cellules d'un champ ayant la couleur de fond
spécifiée

Function SommeCouleurFond(champ As Range, couleurFond)
Application.Volatile
Dim c, temp
temp = 0
For Each c In champ
If c.Interior.ColorIndex = couleurFond Then
temp = temp + c.Value
End If
Next c
SommeCouleurFond = temp
End Function

-Lorsque la couleur de fond est modifiée, le résultat n'est pas mis
à jour immédiatement (sauf si on utilisé le pinceau pour reproduide
la mise en forme).
La MAj se fait lorsque lorsqu'un calcul est activé (option volatile)
-On peut utiliser F9 pour provoquer un calcul immédiat ou utiliser
l'événnement Selection_Change

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("resultat").Calculate
End Sub

http://boisgontierj.free.fr/fichiers/jb-planningmensuelmacro.zip

JB


Bonsoir tout le monde,
C'est avec un peu de retard que je vous souhaite à toutes et tous un jo yeux
noël.

Mon problème:
Est il possible de faire la somme de valeurs des cellules à la conditio n que
le format de celles-ci est par exemple "remplissage rouge" ?


Avatar
MichDenis
Tu peux utiliser ce type de fonction à mettre dans un module standard :

'---------------------
Function SCouleur(Zone As Range, couleur As String) As Double
Application.Volatile True
For Each c In Zone
Select Case c.Interior.ColorIndex
Case couleur ' couleur "rouge
If IsNumeric(c) Then
SCouleur = SCouleur + c.Value
End If
End Select
Next
End Function
'---------------------

=Scouleur(B7:B11;9)
9 = index de la couleur de fond de la cellule

P.S. Si tu modifies la couleur de certaines cellules,
cette fonction ne se recalcule pas. Tu dois utiliser la touche F9



"tip.tiptop" a écrit dans le message de news:
45942055$0$295$
Bonsoir tout le monde,
C'est avec un peu de retard que je vous souhaite à toutes et tous un joyeux
noël.

Mon problème:
Est il possible de faire la somme de valeurs des cellules à la condition que
le format de celles-ci est par exemple "remplissage rouge" ?
Avatar
MichDenis
Cette fonction se plante, si une des cellules ayant la couleur de fond
désiré n'est pas une valeur numérique.


"JB" a écrit dans le message de news:

Bonsoir,

Cacule la somme des cellules d'un champ ayant la couleur de fond
spécifiée

Function SommeCouleurFond(champ As Range, couleurFond)
Application.Volatile
Dim c, temp
temp = 0
For Each c In champ
If c.Interior.ColorIndex = couleurFond Then
temp = temp + c.Value
End If
Next c
SommeCouleurFond = temp
End Function

-Lorsque la couleur de fond est modifiée, le résultat n'est pas mis
à jour immédiatement (sauf si on utilisé le pinceau pour reproduide
la mise en forme).
La MAj se fait lorsque lorsqu'un calcul est activé (option volatile)
-On peut utiliser F9 pour provoquer un calcul immédiat ou utiliser
l'événnement Selection_Change

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("resultat").Calculate
End Sub

http://boisgontierj.free.fr/fichiers/jb-planningmensuelmacro.zip

JB


Bonsoir tout le monde,
C'est avec un peu de retard que je vous souhaite à toutes et tous un joyeux
noël.

Mon problème:
Est il possible de faire la somme de valeurs des cellules à la condition que
le format de celles-ci est par exemple "remplissage rouge" ?