Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Compter des Cellules de couleur avec une condition

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

QEspinaco

XLDnaute Nouveau
Bonjour, je voudrais faire un comptage de cellules de couleur qui contienne des valeurs.
Par exemple si j'ai 8 cellules rouges noté 1,1,2,2,2,3,3,1 et 3 cellules vertes noté 1,2,2 je voudrais que la fonction me sorte 3 pour le nombre de 1 rouge et 2 pour le nombre de 2 verts.

J'ai réussi à coder une fonction qui me donne le nombre de cellules d'une même couleur mais j'aurais besoin d'être plus précis.

En entrée de la fonction j'aimerais mettre : la plage de données à traiter, la couleur et le nombre à compter pour pouvoir faire pareil pour chaque nombre de chaque couleur.

Si quelqu'un aurait une idée ? Je ne sais pas très bien coder sur Excel...

Voici déjà la fonction pour compter les cellules d'une même couleur :

VB:
Function CountCcolor(range_data As Range, criteria As Range) As Long
    Dim datax As Range
    Dim xcolor As Long
xcolor = criteria.Interior.ColorIndex
For Each datax In range_data
    If datax.Interior.ColorIndex = xcolor Then
        CountCcolor = CountCcolor + 1
    End If
Next datax

End Function

••••ˇˇˇˇ
 

Pièces jointes

Dernière édition:
Solution
Bonjour,
Peut être comme ça.
Le dernier paramètre de la fonction correspond au nombre 1,2,3 ....
VB:
Function CountCouleur2(range_data As Range, criteria As Range, xNbr As Integer) As Long
    Dim datax As Range
    Dim xcolor As Long
    xcolor = criteria.Interior.ColorIndex
    For Each datax In range_data
        If datax.Interior.ColorIndex = xcolor Then
            If datax.Value = xNbr Then
                 xcpt = xcpt + 1
            End If
        End If
    Next datax
    CountCouleur2 = xcpt
End Function
@+ Lolote83
Bonjour,
Peut être comme ça.
Le dernier paramètre de la fonction correspond au nombre 1,2,3 ....
VB:
Function CountCouleur2(range_data As Range, criteria As Range, xNbr As Integer) As Long
    Dim datax As Range
    Dim xcolor As Long
    xcolor = criteria.Interior.ColorIndex
    For Each datax In range_data
        If datax.Interior.ColorIndex = xcolor Then
            If datax.Value = xNbr Then
                 xcpt = xcpt + 1
            End If
        End If
    Next datax
    CountCouleur2 = xcpt
End Function
@+ Lolote83
 
Bonjour,
Merci pour cette solution mais j'ai un problème dans mon cas les données sont sur la première colonne et les cellules de couleurs sont dans le tableau mais je ne peux pas ajouté les données dedans pouvez vous m'aidez ? (c'est les 2 tableaux du bas)
 

Pièces jointes

J'ai rencontré un autre problème en utilisant ce programme avec un grand nombre de colonnes et lignes est-ce normal? Pour certains données le programme m'affiche un 0 et pour d'autre il affiche le bon résultat au bout de 10 min.
 

Pièces jointes

Dernière édition:
Bonjour @Matiiooo .
Voici une version plus rapide.
Cependant, pour quelle fonctionne correctement, j'ai rajouté une colonne B indiquant à quelle catégorie cela correspond.
Un bouton MAJ en feuille 2 donne les résultats
Tu peux rajouter autant de couleurs que tu veux, mais il faut dans ce cas.
Onglet Feuil2
- Tableau RESULTAT : Insérer une nouvelle couleur entre le ROUGE et le ORANGE. Le champs ORANGE doit toujours être en dernier.
- Tableau COULEUR : Rajouter ensuite la couleur dans le tableau des couleurs
- Tableau RESULTAT : Tu peux aussi rajouter aussi de nouvelles catégories

Tiens moi au courant.

@+ Lolote83
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
19
Affichages
898
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…