somme des cellule de couleur dans excel

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
AV
Le #4465951
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
JB
Le #4465901
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"
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


Publicité
Poster une réponse
Anonyme