Additionner des cellules de couleur rouge
CChazal57
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
victor -
victor -
Bonjour,
J'ai lu le forum qui donne la solution pour additionner les cellules d'une même couleur et je pense avoir compris. Pour autant, je n'arrive pas à implémenter correctement la formule dans VB car j'ai déjà un bout de code qui colorie les cellules en rouge quand on double clique sur la cellule.
J'ai donc ceci dans VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("C:J")) Is Nothing Then Exit Sub
If ActiveCell.Interior.ColorIndex = xlColorIndexNone Then ActiveCell.Interior.ColorIndex = 3 Else ActiveCell.Interior.ColorIndex = xlColorIndexNone
Cancel = True
End Sub
Pour ajouter la formule qui permet de sommer les cellules de couleur, dois-je ajouter le code juste après le "End Sub" ou avant ?
Merci
J'ai lu le forum qui donne la solution pour additionner les cellules d'une même couleur et je pense avoir compris. Pour autant, je n'arrive pas à implémenter correctement la formule dans VB car j'ai déjà un bout de code qui colorie les cellules en rouge quand on double clique sur la cellule.
J'ai donc ceci dans VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("C:J")) Is Nothing Then Exit Sub
If ActiveCell.Interior.ColorIndex = xlColorIndexNone Then ActiveCell.Interior.ColorIndex = 3 Else ActiveCell.Interior.ColorIndex = xlColorIndexNone
Cancel = True
End Sub
Pour ajouter la formule qui permet de sommer les cellules de couleur, dois-je ajouter le code juste après le "End Sub" ou avant ?
Merci
A voir également:
- Additionner des cellules de couleur rouge
- Formule excel pour additionner plusieurs cellules - Guide
- Excel cellule couleur si condition texte - Guide
- Verrouiller des cellules excel - Guide
- Changer la couleur de la barre des taches - Guide
- Somme si couleur - Guide
2 réponses
Bonjour
Pour ajouter la formule qui permet de sommer les cellules de couleur, dois-je ajouter le code juste après le "End Sub" ou avant ?
Non, tu fabriques une fonction que tu places dans un module général (depuis l'editeur vba > Insertion/Module)
Par exemple
Cette fonction s'utilise aussi bien :
dans un code vba > s = SomCoul(Range("A1:B8"),3)
que dans la feuille de calcul > =SomCoul(A1:B8;3)
Cdlmnt
Pour ajouter la formule qui permet de sommer les cellules de couleur, dois-je ajouter le code juste après le "End Sub" ou avant ?
Non, tu fabriques une fonction que tu places dans un module général (depuis l'editeur vba > Insertion/Module)
Par exemple
Public Function SomCoul(plage As Range, coul As Byte) As Double
Dim sc As Double, cel As Range
sc = 0
For Each cel In plage
If cel.Interior.ColorIndex = coul Then sc = sc + cel.Value
Next cel
SomCoul = sc
End Function
Cette fonction s'utilise aussi bien :
dans un code vba > s = SomCoul(Range("A1:B8"),3)
que dans la feuille de calcul > =SomCoul(A1:B8;3)
Cdlmnt
Bonjour Claire Chazal (de France 5 et la 7),
Le code VBA que tu montres change la couleur de fond d'une seule cellule,
la cellule active (si elle est dans la plage des colonnes C à J) : en rouge /
aucune couleur (et inversement).
Comme ça ne concerne qu'une seule cellule, faire la somme est inutile ;
ce serait mieux que tu indiques la plage exacte où tu veux sommer tes
cellules sur fond rouge ; et que faire de cette somme ? tu veux juste
l'afficher via MsgBox, ou dans quelle cellule faut-il l'écrire ?
Es-tu sûre de vouloir obtenir ce que tu veux par un double-clic sur ta
feuille ? Même sans avoir vu ton classeur, je ne suis pas sûr que ce
soit approprié, mais à toi de voir.
La réponse de ccm81 de 15:03 t'aidera sûrement.
Cordialement
Le code VBA que tu montres change la couleur de fond d'une seule cellule,
la cellule active (si elle est dans la plage des colonnes C à J) : en rouge /
aucune couleur (et inversement).
Comme ça ne concerne qu'une seule cellule, faire la somme est inutile ;
ce serait mieux que tu indiques la plage exacte où tu veux sommer tes
cellules sur fond rouge ; et que faire de cette somme ? tu veux juste
l'afficher via MsgBox, ou dans quelle cellule faut-il l'écrire ?
Es-tu sûre de vouloir obtenir ce que tu veux par un double-clic sur ta
feuille ? Même sans avoir vu ton classeur, je ne suis pas sûr que ce
soit approprié, mais à toi de voir.
La réponse de ccm81 de 15:03 t'aidera sûrement.
Cordialement