Nombre de valeurs en fonction du texte et fond de couleur
Bonjour,
Je souhaite comptabiliser le nombre de cellules contenant la lettre A (ou C ou M) et avec un fond de couleur "rose" dans le tableau ci-dessous. J'ai plusieurs lignes dans le tableau
Le tableau peut-être modifié régulièrement et le fond de couleur "rose" positionner différemment.
La fonction comptercouleur en VBA fonctionne mais je n'arrive pas à la coupler avec la valeur A ou C ou M.
Avec mes remerciements
Bonjour,
Une solution possible avec cette fonction dans laquelle on rentre en paramètres :
- La zone à tester
- La cellule de référence contenant les données à trouver.
La cellule modèle est de la couleur choisie et les données à trouver sont séparées par une virgule sans caractères blancs.
' Compter couleurs et valeurs
Function CCV(ByVal AireATester As Range, ByVal CelluleModele As Range) As Long
Dim I As Long, J As Long
Dim CouleurChoisie As Long
Dim TableauData As Variant
CCV = 0
TableauData = Split(CelluleModele, ",")
CouleurChoisie = CelluleModele.Interior.Color
For I = 1 To AireATester.Count
With AireATester(I)
For J = LBound(TableauData) To UBound(TableauData)
If TableauData(J) = .Value And .Interior.Color = CouleurChoisie Then
CCV = CCV + 1
End If
Next J
End With
Next I
End FunctionBonjour à vous deux,
Une autre proposition où vous pourrez mettre autant de lignes et de colonnes que vous voudrez.
Si le code couleur du rose que vous nous avez proposé est le bon (252-154-156), vous pouvez tester ceci :
Bonjour à tous,
Je travaille sur Excel 2021 et je n'ai donc pas encore les fonctions pour compter les couleurs mais j'ai, comme tout le monde, les bonnes vieilles Macro4 qui permettent de déterminer le numéro des couleurs. Ces macros doivent être introduites par le biais des "Noms" donc si tu vas dans la gestion des Noms, tu verras comment introduire les macro4 et le code 63 est celui qui donne le numéro de la couleur de la cellule désignée. Il y a ainsi une foule de possibilités que tu peux trouver sur le net en demandant les codes des Macro4. Si tu as besoin de plus d'explications contactes moi.
Cela oblige à passer par un tableau "miroir" pour représenter les numéros des couleurs du tableau source. (AA6:AJ500)
Après, la formule calcule à partir des 2 tableaux en utilisant la fonction NB.SI.ENS qui permet de faire les 2 tests (couleur et lettres).
Si tu as la fonction pour compter les couleurs, tu peux simplement utiliser cette fonction NB.SI.ENS pour faire le double test.
Sinon tu peux utiliser la proposition ci-jointe qui travaille avec un tableau de 495 lignes.
Attention : l'utilisation des Macro4 a un défaut : le changement de couleur ne provoque pas le recalcul des cellules sauf si on change les couleurs par l'utilisation du dupliqueur de format (la petite brosse). Pour palier à cela, il y a maintenant à bord un petit VBA évènementiel qui se déclenche dès que l'on change de cellule.
Donc si tu changes la couleur en passant par la mise en forme : tu devras faire un clic dans une autre cellule pour que le calcul se fasse.
Par contre si tu changes de couleur par la brosse à partir de la cellule A2 pour le rose et A3 pour le blanc, le calcul se fera immédiatement.
Je conseille cette méthode car, en plus, elle évitera de se tromper de couleur car le calcul se fait sur le rose de la cellule A2.
Les colonnes AA: AJ peuvent être masquée car elles ne servent que techniquement.
A toi de voir la méthode qui te semble la plus pratique.
Bonne continuation
Chris