Caculer le nombre de ligne répondant à plusieurs critères

Résolu/Fermé
Masj71 Messages postés 2 Date d'inscription mercredi 2 septembre 2015 Statut Membre Dernière intervention 2 septembre 2015 - 2 sept. 2015 à 11:59
Masj71 Messages postés 2 Date d'inscription mercredi 2 septembre 2015 Statut Membre Dernière intervention 2 septembre 2015 - 2 sept. 2015 à 12:19
Bonjour,

Je fait un excel pour faire un inventaire de parc informatique.

Dans une feuille j'ai rentré toutes les informations que j'avais besoin.

Dans ma colonne A, j'ai le nom de mes PC et dans la colonne M j'ai remplie mes cellules d'une couleur par rapport à un état de ce PC (rouge, orange, vert)

J'ai une deuxième feuille récapitulatif qui a plusieurs tableau. J'en ai un qui compte le nombre de cellule par rapport à sa couleur. J'ai utilisé une fonction VBA pour cela.
J'en ai un deuxième qui me compte le nombre UC, Portable et Wyse. Cela je le fait par rapport à la colonne A. Mes UC commence par GSU, mes portables par GSP et mes Wyse par GSW. J'ai utilisé la formule =NB.SI(Tableau!A2:A500;"*gsu*").

Maintenant ma question, j'aimerais faire un troisème tableau pour compter le nombre d'UC qui est vert, qui est rouge et qui est orange. Pareil pour mes portables et mes wyses. (donc le nombre de ligne qui remplis les deux conditions à savoir UC et vert)

J'ai essayé plusieurs formule avec SOMMEPROD, NB.SI.EN mais aucune n'a fonctionné.

Voici le VBA qui fait le compte par rapport à la couleur


Function NbColor(ByRef Plage As Range, Couleur As Byte) As Long
Dim c As Range
Dim nb As Long
nb = 0
For Each c In Plage
If c.Interior.ColorIndex = Couleur Then
nb = nb + 1
End If
Next c
NbColor = nb
End Function

Function NbColorSameAs(ByRef Plage As Range, ByRef Cellule As Range) As Long
NbColorSameAs = NbColor(Plage, Cellule.Interior.ColorIndex)
End Function

et voici la fonction que j'utilise =NbColorSameAs(Tableau!M2:M500;Récapitulatif!B1)

Avez vous une idée pour combiné ces deux condition.

Merci par avance.

Cordialement.


A voir également:

3 réponses

Zoul67 Messages postés 1959 Date d'inscription lundi 3 mai 2010 Statut Membre Dernière intervention 30 janvier 2023 149
Modifié par Zoul67 le 2/09/2015 à 12:16
Bonjour,

NB.SI.ENS fonctionne par rapport aux valeurs.
Tes fonctions personnalisées renvoient un nombre (Long). Sauf à comparer ces décomptes avec une valeur de ton tableau d'origine (ce qui n'a pas de sens), on ne peut pas les combiner telles quelles.

Il est déconseillé d'utiliser des couleurs pour effectuer des calculs.
Mieux vaudrait mettre un texte et faire une mise en forme conditionnelle ; ex :
- v : vert sur fond vert
- r : rouge sur fond rouge
- o : orange sur fond orange

Ainsi adieu aux fonctions personnalisées (nécessitant l'activation des macros) et tu peux utiliser facilement NB.SI.ENS

A+
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 212
2 sept. 2015 à 12:17
Bonjour,

Plus simple, tu saisis 0, 1 ou 2 (ou ce que tu veux via une liste de validation) pour l'état du PC et tu mets la couleur avec une MFC.
Ensuite tu peux travailler comme tu veux sur les valeurs de cette colonne.

eric

0
Masj71 Messages postés 2 Date d'inscription mercredi 2 septembre 2015 Statut Membre Dernière intervention 2 septembre 2015
2 sept. 2015 à 12:19
Oui effectivement j'avais pas pensé à faire cela. Je le fait de suite.

Merci
0