Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

somme des cellule de couleur dans excel

2 réponses
Avatar
treets
Bonjour à tous

voilà je souhaite faire la somme des celulles de couleur dans une plage de
données Excel.

pour cela j'utilise cette fonction : CouleurCell(Range,Optional couleur)

et le cade macro suivant

Code :
Function CouleurCell(Range, Optional couleur)
Dim Cell As Object
For Each Cell In Range
If Cell.Interior.ColorIndex = couleur Then _
CouleurCell = CouleurCell + Cell
Next Cell
End Functioncependant pour réactualiser après modification de la couleur je
suis obligé de double cliquer sur la cellule ou s'effectue le calcul.
Auriez-vous une solution à m'apporter

d'avance merci bcp
DAVID

2 réponses

Avatar
AV
Ce typoe de fonction est à déconseiller :
le changement de format (couleur, type de police...) n'entraine pas de recalcul
de la part d'XL d'où l'obligation, pour avoir un résultat correct, de
réactualiser ou d'utiliser une proc évènementielle, ce qui, évidemment,
n'améliore pas la "performance" ....
La bonne question à se poser serait de savoir pourquoi telle cellule est de
telle couleur et, la cause ainsi définie, il te sera possible de trouver la
formule adéquate pour décompter.

AV
Avatar
JB
Bonjour,

On recalcule le tableau seulement si on a sélectionné la (ou les)
cellule(s) contenant la fonction perso.

Dim celluleAvant
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not IsEmpty(celluleAvant) Then
If Not Intersect(Range(celluleAvant), [B2:G3]) Is Nothing Then
Calculate
End If
celluleAvant = Target.Address
End Sub

http://boisgontierjacques.free.fr/pages_site/fonctioncouleurfond.htm

Cordialement JB

On 21 avr, 08:15, "treets" wrote:
Bonjour à tous

voilà je souhaite faire la somme des celulles de couleur dans une plage de
données Excel.

pour cela j'utilise cette fonction : CouleurCell(Range,Optional couleur)

et le cade macro suivant

Code :
Function CouleurCell(Range, Optional couleur)
Dim Cell As Object
For Each Cell In Range
If Cell.Interior.ColorIndex = couleur Then _
CouleurCell = CouleurCell + Cell
Next Cell
End Functioncependant pour réactualiser après modification de la coul eur je
suis obligé de double cliquer sur la cellule ou s'effectue le calcul.
Auriez-vous une solution à m'apporter

d'avance merci bcp
DAVID