Compteur occurrence avec 1 critère

Bonjour à toutes et tous,

je souhaiterai calculer le nb d'occurrence différentes en colonne B de mon fichier

à savoir le nb de produits vendus DIFFERENTS (colonne B) par vendeur (colonne A)

J'ai pensé à une sommeprod, mais je n'arrive pas à me dépatouiller.

Si quelqu'un a une soluce , ce serai super.

merci à vous

Salut,

Une première proposition avec Sommeprod.

17propo-lauange.zip (6.44 Ko)

Bonjour,

En reprenant la bonne proposition de Lauange, je l'ai amélioré afin de prendre en compte le rajout de lignes, à l'aide du nommage de cellule et de la fonction décaler.

18propo-lauange.zip (6.57 Ko)

Bonjour à tous !

lauange, AF-VBA : Il serait bon de remettre les cellules où sont les formules au format Standard pour voir le véritable résultat...

wikika : Si les produits étaient désignés par de numéros on peut opérer avec une seule formule, avec du texte je ne sais pas faire directement...

Merci à tous pour ces réponses

super ca marche

seul hic...j'ai 23000 ligne et la sommeprod est gourmande en ressources...

Merci encore

Re,

En est tu sûr ?

Sûre de quoi Mferrand?

Tu n'as pas lu ce que j'ai écrit !

Donc, illustration !

Ok je comprends,

ca ne peut pas arriver dans mon cas car chaque vendeur a un produit identifié

au pire créer une colonne concat vendeur_produit et on devrait s'en sortir

merci MFerrand

Oups ... x)

Heureusement que M. Ferrand nous contrôle !

Avec des numéros, on peut le faire en utilisant FREQUENCE.

Ici, en triant sur la colonne A on peut ainsi :

=SOMMEPROD(1/NB.SI(DECALER($B$2;EQUIV(F3;$A$3:$A$24;0);;NB.SI($A$3:$A$24;F3));DECALER($B$2;EQUIV(F3;$A$3:$A$24;0);;NB.SI($A$3:$A$24;F3))))

C'est la manip. la plus légère que j'ai vue...

Sinon en concaténant les 2 colonnes dans une 3e (NB.SI ne l'accepte pas dans la formule même).

Mais je crois qu'une autre partie du problème est le nombre de lignes...


J'ai traité le même problème ya pas très longtemps, c'était encore frais !

Mais je me souviens avoir dit à l'intéressé que si ces valeurs n'avaient pas été des numéros, rien à faire pour y arriver sans toucher à quelque chose ici ou là...

Re,

Fonction personnalisée à essayer :

Function NBOCCUR(plage As Range, vdr As String) As Integer
    Dim d As Object, plg, i&
    Application.Volatile
    Set d = CreateObject("Scripting.Dictionary")
    plg = plage.Value
    For i = 1 To UBound(plg, 1)
        If plg(i, 1) = vdr Then d(plg(i, 2)) = ""
    Next i
    NBOCCUR = d.Count
End Function

NB- Si par la suite elle pose problème lors de recalculs, ajouter False après Volatile (Application.Volatile False)...

edit : erreur de fichier, c'est rectifié.

Rechercher des sujets similaires à "compteur occurrence critere"