Bonjour à toutes et à tous,

Voici, ci-dessous, ce bout de code que j'ai trouvé ici et sur un autre forum mais que je n'arrive pas à adapter.


Voici mon problème : prenons par exemple la colonne G
sur la plage ("G2:G97") , je choisis manuellement un fond de couleur ( parmi 5 ) suivant si la personne ( Nom : colonne A et Prénom : colonne B ) est dans tel groupe ou tel groupe pour telle séance.
Remarque : la colonne G correspond à la séance 1,la colonne H correspond à la séance 2, etc...


--> pour la plage ("G2:G97")
Je voudrais qu'en cellule ("G101"), s'affiche le nombre de fois où la couleur 10027212 apparaît ( rose )
en ("G102") s'affiche le nombre de fois où la couleur 5287936 apparaît ( vert )
en ("G103") s'affiche le nombre de fois où la couleur 65535 apparaît ( jaune )
en ("G104") s'affiche le nombre de fois où la couleur 49407 apparaît ( orange )
en ("G105") s'affiche le nombre de fois où la couleur 15773696 apparaît ( bleu )

Question : Comment remplacer "Plage" par ("G2:G97") puis par ("H2:H97"),etc..... ( déjà avec seulement ("G2:G97") je n'y arrive pas ) ?
Que signifie " Application.volatile" ?





Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Function NbreCellulesCouleur(Plage As Range, Couleur As Byte) As Long
'Compter le nombre de cellules d'une couleur donnée dans une plage donnée
'Plage: plage de cellules à inspecter
'Couleur: valeur de la couleur cherchée
 
Application.Volatile
 
Dim Cellule As Range
 
For Each Cellule In Plage
    If Cellule.Interior.ColorIndex = Couleur And Not IsEmpty(Cellule) Then
        NbreCellulesCouleur = NbreCellulesCouleur + 1
    End If
Next Cellule
 
End Function


Merci d'avance.


Novice72