Nombre de valeurs dans un TCD

Bigo -  
papy enD13 Messages postés 28 Statut Membre -
Bonjour,
J'ai besoin de trouver le nombre de valeurs distinctes contenues dans une colonne selon un critère de recherche (contenu dans une autre colonne). Le résultat doit apparaître dans un tableau croisé. Exemple :
Article Prix
A 219,00
A 195,00
A 195,00
A 219,00
B 47,20
B 46,50
B 46,50
B 46,50
C 29,00
C 29,00
C 29,00
C 29,00
D 0,00
D 73,26
D 73,26
D 73,26

Résultats souhaités dans un tableau croisé (nombre de valeurs par article, valeur 0 ignorée) :

Article Prix
A 2,00
B 2,00
C 1,00
D 1,00
Bien entendu, mon fichier compte quelques milliers de lignes et quelques centaines d'articles...

Merci à tous

3 réponses

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour

    sans précision sur
    selon un critère de recherche (contenu dans une autre colonne)

    que peut on faire ?
    0
  2. Bigo
     
    Bonjour,
    Ma demande n'était donc pas claire, sorry, je précise. Le critère de recherche est, dans le cas présenté ci-dessus, l'article (A, B, C ou D). C'est vrai qu'on ne voit pas bien qu'il s'agit de 2 colonnes (article et prix).
    J'espère que vous pourrez m'aider !
    Merci
    0
    1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      OK, merci

      Avec un TCD ca ne me parait pas évident.... par matricielles, plusieurs milliers de lignes l'interdit...Je regarde mais cela passera peut-^tre pas VBA...
      a+
      0
    2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      XL2007:avec un TCD intermédiaire
      supprimé

      un petit oubli
      classeur corrigé
      https://www.cjoint.com/?3JzjAoHljiy
      tu dis
      0
  3. papy enD13 Messages postés 28 Statut Membre 4
     
    bonsoir à tous,

    je propose une solution dont je ne connais pas la vitesse d'exécution, ni la taille:
    en prenant le problème à l'inverse, je calcule d'abord (col D) le nombre d'itérations identiques (prix col B) dans une plage d'"articles" identiques (col A)
    par division de ce résultat, j'obtiens (col E) un rapport
    les colonnes D et E peuvent être masquées
    le cumul par plages "articles" est obtenu soit en 1ere feuille ou n'importe où ailleurs, en face de chaque article

    col A: "articles"
    col B: "prix"
    col D: fx =SI(B2=0;"";NB.SI.ENS(A:A;A2;B:B;B2))
    col E: fx =SI(D2="";"";SI(D2>1;1/D2;1))
    (pour totaliser ces doublons respectifs à 1)

    Total: fx =SI(B2="";"";SOMME.SI(A:A;A2;E:E))

    les formules sont extensibles à l'infini, si on peut dire

    attention aux valeurs 0 de prix qui ne sont jamais prises en compte, même si c'est un prix !

    dites-moi ce que vous en pensez en toute objectivité et si ça peut être utile

    bonne soirée à tous
    amicalement

    papy (:-)
    0
    1. papy enD13 Messages postés 28 Statut Membre 4
       
      re

      ci-joint pour fichier-test

      http://www.cijoint.fr/cjlink.php?file=cj201110/cijrxUCKax.xls

      la précision est absolue: il y aura différence entre 14.999999 et 15.00
      si les prix proviennent d'un calcul, mieux vaut adjoindre la fx ARRONDI*

      le fichier est à modifier sur la col E par la formule ci dessus
      (autant de doublons que possible)

      amusez-vous bien

      papy (:-)

      Carpe Diem
      0