Recherche d'occurence avec critères.

D.D.

XLDnaute Impliqué
Bjr à tous,

Je cherche à compter de grandes quantités de données.
J'ai un tableau avec des N° de commandes et des N° de vendeur.
Chaque ligne peut avoir des doublons (car il y a d'autres données unique dans les autres colonnes).
Je cherche à savoir combien de commande unique a vendu chaque vendeur.
Exemple: Combien de commande à vendu 3E0 ?. Réponse: 1. Pour 3J0 ? Réponse 3.

3141016 3K0
3026410 3E0
3026410 3E0
3069949 3F0
3069949 3F0
3069949 3F0
3106065 3J0
3106065 3J0
3106065 3J0
3106065 3J0
3106066 3F0
3106068 3J0
3116738 3J0

Bien entendu, je ne veux pas de TCD, mais une bonne vieille formule.

Merci.
DD
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Recherche d'occurence avec critères.

Bonjour,

En D1: code vendeur

=NB(1/FREQUENCE(SI(Vendeur=D1;EQUIV(Cmd;Cmd;0));SI(Vendeur=D1;EQUIV(Cmd;Cmd;0))))
Valider avec maj+ctrl+entrée

JB
 

Pièces jointes

  • Classeur1.xls
    15 KB · Affichages: 78
  • Classeur1.xls
    15 KB · Affichages: 76
  • Classeur1.xls
    15 KB · Affichages: 79
Dernière édition:

D.D.

XLDnaute Impliqué
Re : Recherche d'occurence avec critères.

Bonjour,

En D1: code vendeur

=NB(1/FREQUENCE(SI(Vendeur=D1;EQUIV(Cmd;Cmd;0));SI(Vendeur=D1;EQUIV(Cmd;Cmd;0))))
Valider avec maj+ctrl+entrée

JB

Bon, après qq tests, pas de problème de fct, si ce n'est que pour 10ooo lignes, et 4 ou 5 "vendeurs", Excel a un temps d'execution beaucoup trop important.... Dommage. Il va falloir que je passe en SQL, ce que je ne voulais pas faire.

Merci bien.

DD
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Recherche d'occurence avec critères.

Bonsoir,

Nombre de commandes uniques par vendeur

Code:
Sub groupe()
   'Outils/Références Microsoft ActiveX Data Object 2.8
  ActiveWorkbook.Names.Add Name:="MaBd", RefersTo:=Sheets(1).[A1].CurrentRegion
  Dim rs As ADODB.Recordset
  Set cnn = New ADODB.Connection
  cnn.Open "DRIVER={Microsoft Excel Driver (*.xls)};DBQ=" & ThisWorkbook.Path & "\" & ThisWorkbook.Name
     Sql = "select vendeur,count(*) as ttal from (SELECT  distinct vendeur,cmd From MaBD) group by vendeur"
     Set rs = cnn.Execute(Sql)
     [d2].CopyFromRecordset rs
     rs.Close
     cnn.Close
     Set rs = Nothing
End Sub

JB
 

Pièces jointes

  • SQLGroupBY.xls
    35.5 KB · Affichages: 111
Dernière édition:

Discussions similaires

Réponses
10
Affichages
792

Statistiques des forums

Discussions
311 718
Messages
2 081 866
Membres
101 827
dernier inscrit
kubinou