nombre de noms differents dans une liste triee

benouboy

XLDnaute Nouveau
Bonjour cher Forum!

voila, je souhaiterais avoir un compteur en haut d'une liste filtree me donnant le nombre de noms differents figurant dans cette liste. Ex :
ma base avant filtre :
_Nbr=3____________________Total : 14000 EUR
Fournisseur______Pays____Techno____Montant
_Durand___________FR_____Forge_____8000 EUR
_Dupond___________UK_____Forge_____1000 EUR
_Dupond____________D_____Plastic___1000 EUR
_Arthur___________UK_____Plastic___2000 EUR
_Arthur___________UK_____Elasto____2000 EUR

mon filtre :
Fournisseur______Pays____Techno____Montant
__________________UK______________________

Ma base une fois le filtre en place :
_Nbr=2____________________Total : 5000 EUR
Fournisseur_______Pays___Techno____Montant
_Dupond___________UK_____Forge_____1000 EUR
_Arthur___________UK_____Plastic___2000 EUR
_Arthur___________UK_____Elasto____2000 EUR

Pas de soucis pour le calcul du total, mais mon probleme est donc celui du nombre de fournisseurs.

J'ai le meme soucis lorsque je veux avoir dans un TDC extrait de ma base ce meme nombre de fournisseurs...

Par avance merci pour vos reponses!!
Benouboy
Suis sous Excel 2003 (en version english), Win XP. [file name=benouboy.zip size=14806]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/benouboy.zip[/file]
 

Pièces jointes

  • benouboy.zip
    14.5 KB · Affichages: 54
  • benouboy.zip
    14.5 KB · Affichages: 61
  • benouboy.zip
    14.5 KB · Affichages: 44
A

AV

Guest
Ave,

En français
matricielle :
=NB(1/FREQUENCE(SI(SOUS.TOTAL(3;DECALER(A7;LIGNE(A7:A29)-LIGNE(A7);;1));EQUIV(A7:A29;A7:A29;0));LIGNE(INDIRECT('1:'&LIGNES(A7:A29)))))

En anglais (vérifier le séparateur d'arguments(virgule))

=COUNT(1/FREQUENCY(IF(SUBTOTAL(3,OFFSET(A7,ROW(A7:A29)-ROW(A7),,1));MATCH(A7:A29,A7:A29,0)),ROW(INDIRECT('1:'&ROWS(A7:A29)))))

AV [aaa]
 

benouboy

XLDnaute Nouveau
Impec! Merci... Bon euh en fait je suis en train de decortiquer ta super formule (je progresse), ainsi que les problemes de syntaxe (t'es sur du '1/FREQUENCY'?) mais ca devrait marcher...

Quant au meme resultat dans un TCD, je dois adapter cette formule dans un champ calcule?

En tout cas, vous etes toujours aussi impressionants cote vitesse de reponse!!! Bravo!
 
A

AV

Guest
Re,

''t'es sur du '1/FREQUENCY'...''

Oui

''..Quant au meme resultat dans un TCD, je dois adapter cette formule dans un champ calcule?..''

Ajoute un champ dans une colonne masquée (voir fichier exemple)

AV [aaa] [file name=TCD_Val_Uniq.zip size=5339]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/TCD_Val_Uniq.zip[/file]
 

Pièces jointes

  • TCD_Val_Uniq.zip
    5.2 KB · Affichages: 51

benouboy

XLDnaute Nouveau
ca marche!!!
il y avait juste une 'tite faute de syntaxe effectivement sur le IF (en anglais, c'est IF(test,sivrai,sifaux)... :

=COUNT(1/FREQUENCY(IF(SUBTOTAL(3,OFFSET(A7,ROW(A7
:A29)-ROW(A7),,1)),MATCH(A7:A29,A7:A29,0)),ROW(INDI
RECT(\\'1:\\'&ROWS(A7:A29)))))

Bon maintenant j'ai peu mal a la tete, et j'avoue que j'ai pas encore completement modelise le fonctionnement de la formule dans la tete, mais en tout cas CHAPEAU!!! Ave AV!
 
A

AV

Guest
Re,

''..il y avait juste une 'tite faute de syntaxe effectivement sur le IF (en anglais, c'est IF(test,sivrai,sifaux)... ''

Non, non c'était pas une faute sur le IF mais un point-virgule (au lieu d'une virgule) que j'avais oublié avant le MATCH

AV [aaa]
 

Discussions similaires

Statistiques des forums

Discussions
312 371
Messages
2 087 700
Membres
103 644
dernier inscrit
bsalah