XL 2010 [RESOLU] Valeur distincte par agence

Roni95

XLDnaute Occasionnel
Bonjour le forum,

Je cherche à connaître le nombre de références distinctes par agences en évitant d'avoir à faire plusieurs TCD pour avoir le résultat.

Dans mon exemple, en feuil1, j'obtiens le nombre total de références distinctes quelque soit les agences soit 798.
Maintenant je voudrais savoir le nombre de ces références distinctes dans chaque agence et là ça ne va plus, car dans l'exemple l'agence de Créteil aurait 1184 réfs alors qu'elle n'en a que 688 (voir TCD en Feuil5).

Si quelqu'un avait une solution afin d'avoir une donnée plus rapidement et fiable.

merci par avance pour votre aide
Bonne journée
 

Pièces jointes

  • Test26.xlsx
    309.9 KB · Affichages: 65

Paf

XLDnaute Barbatruc
Bonjour Roni95, Dugenou,

Une version macro:
Code:
Sub CodeparAgence()
Dim Dico, Dico2, i As Long, TabIni, TabFin, x As Integer, LD As Integer
Set Dico = CreateObject("Scripting.Dictionary")
Set Dico2 = CreateObject("Scripting.Dictionary")
LD = 7 'ligne de début résultat à adapter
x = 0
Application.ScreenUpdating = False
With Worksheets("Feuil2") ' à adapter
TabIni = .Range("A2:B" & .Range("B" & Rows.Count).End(xlUp).Row)

For i = LBound(TabIni) To UBound(TabIni)
    Dico(TabIni(i, 1)) = "" 'dico des agences
Next
ReDim TabFin(1 To Dico.Count, 1 To 2)
For Each clé In Dico.keys
    For i = LBound(TabIni) To UBound(TabIni)
        If TabIni(i, 1) = clé Then Dico2(TabIni(i, 2)) = ""
    Next
    x = x + 1
    TabFin(x, 1) = clé
    TabFin(x, 2) = Dico2.Count
    Dico2.RemoveAll
Next
.Range("I" & LD).Resize(UBound(TabFin, 1), UBound(TabFin, 2)) = TabFin
.Range("I" & LD & ":J" & LD + x).Sort Key1:=.Range("I" & LD), Order1:=xlAscending
End With
Application.ScreenUpdating = True
End Sub

A+
 

Dugenou

XLDnaute Barbatruc
J'ai retrouvé une formule de Cisco pour le tout confondu en une seule fois : mais le temps de calcul est important :
=SOMMEPROD(1/NB.SI(B3:B16043;B3:B16043))
Je sèche pour le calcul par agence

Cordialement

Edit : bonjour Paf : en effet je pense que pour un tel volume de données, la macro sera mieux !
 

Statistiques des forums

Discussions
312 247
Messages
2 086 591
Membres
103 248
dernier inscrit
Happycat