Fonction NB.SI

argaz01

XLDnaute Junior
Bonjour tout le monde,

J'aimerais compter le nombre de cellules d'une colonne qui ont une valeur supérieure à un certain % et j'aimerais aussi pouvoir compter le nombre de cellules d'une colonne qui ont une certaine couleur. Est-ce possible, j'arrive à compter le nombre de cellules contenant un mot spécifique mais pas des couleurs ou des %. Merci d'avance pour votre aide

Cordialement
 

bbanor

XLDnaute Occasionnel
Re : Fonction NB.SI

Salut argaz01

Bienvenue sur le forum. Sur ce forum si tu veux avoir des réponses il vaudrait mieux que tu envoies des fichiers exemples en pièces jointes c'est plus pratique pour les forumeurs.

A te lire
 

bbanor

XLDnaute Occasionnel
Re : Fonction NB.SI

Re bonjour

Pour compter les cases d'une certaine couleur je crois que tu dois absolument passer par VBA.

Va voir sur ce super site de Boisgontier : Fonction sommeCouleurFond

où tu trouveras de supers exemples à adapter.

Si non pour les autres problèmes mentionnés tu dois essayer la formule : nb.si

Mais envoie un fichier pour qu'on puisse voir d'un pleu plus près.

A te lire
 

argaz01

XLDnaute Junior
Re : Fonction NB.SI

Merci bbanor pour le lien, Ci-joint un tableau de 2 colonnes et j'aimerais compter le nombre de cellules rouges (en bas de chaque colonne ou à un autre endroit de la feuille).

Merci d'avance

Cordiaklement
 

Pièces jointes

  • ClassColorFound.xls
    14.5 KB · Affichages: 68

sigismond

XLDnaute Occasionnel
Re : Fonction NB.SI

Bonjour à tous
et à toi argaz01, bbanor

il est possible de décompter des % avec la fonction NB.SI()

Par contre pour décompter des couleurs je ne vois pas comment éviter VBA

Ci joint un exemple avec les deux questions résolues.

Sigismond
 

Pièces jointes

  • NB.SI_%_Couleur.xls
    28 KB · Affichages: 77

sigismond

XLDnaute Occasionnel
Re : Fonction NB.SI

Il semble que quand tu parles de cellule rouge il s'agit de la couleur de la police alors que dans mon exemple j'ai traité la couleur de fond de la cellule.

dans le code il te faudra remplacer :

If CellRef.Interior.ColorIndex = CellAnalyse.Interior.ColorIndex Then

par :

If CellRef.Font.ColorIndex = CellAnalyse.Font.ColorIndex Then


De plus dans le tableau de référence de couleurs il faudra mettre des couleurs de police.

Sigismond.
 

argaz01

XLDnaute Junior
Re : Fonction NB.SI

Je viens d'adapter la macro à mon tableau sauf qu'elle donne 0 comme nombre de cellules de couleur rouge, alors qu'il y'en a plusieurs. Voici la macro adaptée:
Code:
Sub CompteCouleur()
    For Each CellRef In Range("Q143:Q143")
        CellRef.Offset(0, 1).Value = 0
        For Each CellAnalyse In Range("P8:P128")
            If CellRef.Interior.ColorIndex = CellAnalyse.Interior.ColorIndex Then
                CellRef.Offset(0, 1).Value = CellRef.Offset(0, 1).Value + 1
            End If
        Next
    Next
End Sub

Avec Q143 la cellule que j'ai mis en rouge pour pouvoir compter le nomre de cellules en rouge (fond rouge)
P8:p128 la colonne dasn la quelle se trouve les cellules en rouge


Merci d'y jeter un couip d'oeil les gars

Cordialement
 

sigismond

XLDnaute Occasionnel
Re : Fonction NB.SI

Bonjour le fil,

Désolé Argaz01 pour mon silence dû à un éloignement temporaire d'internet.


Rajoute les modifs en rouge pour tenir compte de la couleur de la police et non celle du fond de cellule.
Code:
Sub CompteCouleur()
    For Each CellRef In Range("Q143")
        CellRef.Offset(0, 1).Value = 0
        For Each CellAnalyse In Range("P8:P128")
            If CellRef.[COLOR="Red"]Font[/COLOR].ColorIndex = CellAnalyse.[COLOR="Red"]Font[/COLOR].ColorIndex Then
                CellRef.Offset(0, 1).Value = CellRef.Offset(0, 1).Value + 1
            End If
        Next
    Next
End Sub

De plus il te faudra écrire quelque chose en ROUGE en Q143 pour que le code aille y chercher la référence de couleur.

Bonne modif.

Sigismond.
 

argaz01

XLDnaute Junior
Re : Fonction NB.SI

Bonjour,

A sigismond, merci pour le code, mais je te confirmez que c'est bien la couleur de fond des cellules que je veux prendre en compte. Cependant, le code ne fonctionne pas, le résultat est toujour 0 alors que j'ai plusieurs cellules de fond rouge!!!


Merci pour un petit coup de main.
 

sigismond

XLDnaute Occasionnel
Re : Fonction NB.SI

Bonjour argaz01, le fil.

Il se peut que ce soit un problème de palette de couleur.

vérifie les n° de ColorIndex de tes fonds de cellules avec la routine ci-dessous que tu places dans un module VBA. la routine se lance par Outils/macro/macros/TstCouleur.

Sub TstCouleur()
MsgBox ("La cellule active utilise la couleur de fond N° : " & ActiveCell.Interior.ColorIndex)
End Sub

Si tu ne trouves rien d'anormal fais passer un extrait de fichier pour avancer.

Sigismond
 

sigismond

XLDnaute Occasionnel
Re : Fonction NB.SI

Bonjour Mutzik,

Je reformule ta question en fonction de ce que j'ai compris :

La couleur de fond rouge provient elle d'un formatage de cellule ou d'un format conditionnel ?

J'avoue ne pas avoir envisagé le cas mais après vérification le comportement est identique.

Ta suggestion avait-elle un autre sens caché que je n'ai pas su décapsuler Mutzik ?

Sigismond.
 

argaz01

XLDnaute Junior
Re : Fonction NB.SI

La couleur des cellules vient d'une mise en forme conditionnelle que voici appliquée sur les cellules de la colonne P:


Code:
=OU(ET($N8<2,5%;$p8>5%);ET($n8>2,5%;$N8<5%;$P8>2,5%);ET($N8>5%;$N8<10%;$P8>1%);ET($N8>10%;$P8>0,5%);1;0)=1


Le code couluer est le bon.

Cordialement
 

sigismond

XLDnaute Occasionnel
Re : Fonction NB.SI

Bonjour Mutzik,


J'avoue ne pas avoir envisagé le cas mais après vérification le comportement est identique.


Sigismond.

Rectification : le ColorIndex du rouge
  • en mode couleur de fond : 3
  • en mode format conditionnel : -4142

de même le paramètre Color du rouge (RVB) est
  • en mode couleur de fond : 255
  • en mode format conditionnel : 16777215

Le format conditionnel fond bleu me donne :
  • en colorIndex : -4142
  • et en Color (RVB) : 16777215

J'en déduis (Car je n'ai pas trouvé l'info dans la doc) que le ColorIndex = -4142 ou que Color = 16777215 correspond à : couleur de fond défini par formatage conditionnel et qu'il convient dans ce cas d'aller désosser le format conditionnel pour trouver la couleur.

Je vais déjeuner et j'approfondis.

Sigismond.
 

sigismond

XLDnaute Occasionnel
Re : Fonction NB.SI

La question qui se pose, argaz01, est de savoir ce que tu veux compter : les cellules en rouge ou les cellules qui répondent à ta condition ?

Parce qu'il est beaucoup plus difficile de compter les cellules en rouge provenant d'un format conditionnel, que de compter les cellules respectant ta condition !

La remarque sibylline de Mutzig commence à s'éclairer...

Sigismond
 

Discussions similaires

Réponses
3
Affichages
242
Réponses
4
Affichages
341

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz