Calcul cellule couleur

ant75

XLDnaute Junior
Bonjour,

J'ai dans un tableau d'une centaine de colonnes et d'une trentaine de lignes plusieures cellules avec un motif de couleur différent (5 couleurs différentes).

J'ai besoin de calculer pour chaque colonne 5 sommes :
- le nombre de cellules de couleur 1
- le nombre de cellules de couleur 2
etc

J'ai trouvé une formule utile sur internet à mettre dans VB/module (alt+F11) :
'----- Début de partie à copier -----
Public Function NBCellsPoliceCouleur(ByVal target As Range, _
ByVal Couleur As Integer) As Integer

Dim Cellule As Range
NBCellsPoliceCouleur = 0
For Each Cellule In target
If Cellule.Font.ColorIndex = Couleur Then 'Teste la couleur de la police
NBCellsPoliceCouleur = NBCellsPoliceCouleur + 1
End If
Next

End Function
'----- Fin de partie à copier -----

Mon gros problème est que cette formule fonctionne que si on rentre dans la cellule où il y a par exemple écrit : =NBCellsPoliceCouleur(A1:10;2) et qu'on clique sur entrée. C'est la seule façon pour que le calcul se fasse. Je ne comprend pas du tout pourquoi se résultat ne se met pas automatiquement à jour lorsque les couleurs dans le tableau changent.

Quelqu'un peut il me proposer une solution svp ?

Peut être que mon explication n'est pas claire, j'ai donc mis mon fichier online : http://cjoint.com/?esmrtCu5iV
Vous verrez, si vous rajouter une cellule de couleur dans le tableau, le résutlat (dans cette zone C40:J43) ne se met pas à jour automatiquement, c'est là tout le problème ^^

Merci d'avance.
 
Dernière édition:

wilfried_42

XLDnaute Barbatruc
Re : Calcul cellule couleur

bonjour

ajoute la ligne en rouge

Code:
Public Function NBCellsPoliceCouleur(ByVal target As Range, _
ByVal Couleur As Integer) As Integer

Dim Cellule As Range
[COLOR="Red"]application.volatile[/COLOR]
NBCellsPoliceCouleur = 0
For Each Cellule In target
If Cellule.Font.ColorIndex = Couleur Then 'Teste la couleur de la police
NBCellsPoliceCouleur = NBCellsPoliceCouleur + 1
End If
Next

attention, mettre une couleur dans une cellule ne provoque pas le recalcul
taper F9
 

ant75

XLDnaute Junior
Re : Calcul cellule couleur

Euh.... en fait je crois qu'avec ou sans 'Application.Volatile' je crois que ça ne change rien.

Mon recalcul se fait déjà dans le fichier de base si je copie une cellule de couleur du tableau et la colle dans une autre cellule LOL Par contre ça ne re calcule pas si je vais dans une cellule sans couleur et utilise le pot de peinture pour la colorier.

Grâce à ta solution j'en ai donc trouvé une autre.

En tout cas merci beaucoup. :)
 

Discussions similaires

Statistiques des forums

Discussions
312 506
Messages
2 089 119
Membres
104 037
dernier inscrit
damsau