Lsiter valeurs colonne

tellib

XLDnaute Junior
Lister les valeurs d'une colonne

Bonjour,

Existe t'il une fonction Excel qui permet de répertorier les différentes valeurs d'une colonne ou d'une plage de cellules ? (qui fasse un peu le même travail que le filtre automatique en quelque sorte....)

Je précise que je sais le faire par macro mais je cherche s'il n'existe pas une fonction préexsitante que je puisse utliser dans une feuille Excel.

Merci
 
Dernière édition:

tellib

XLDnaute Junior
Re : Lsiter valeurs colonne

oui je sais mais je voudrais une fonction Excel qui réalise ça automatiquement dans une feuille Excel....le faire manuellement ou à travers une macro Excel ça je sais faire....
exemple si j'ai
cellule A1 : "A"
cellule A2 : "A"
cellule A3 : "C"
cellule A4 : "C"
cellule A5 : "D"
cellule A6 : "B"
cellule A7 : "A"
cellule A8 : "C"
je voudrais avoir
cellule B1 : "A"
cellule B2 : "B"
cellule B3 : "C"
cellule B4 : "D"
tout cà sans macro et sans action manuelle ! !
 
Dernière édition:

JCGL

XLDnaute Barbatruc
Re : Lsiter valeurs colonne

Bonjour à tous,

Laisser A1 vide

Liste non triée
En B2 :

Code:
=INDEX('F1'!A$1:A$50;MIN(SI(NB.SI(B$1:B1;'F1'!A$2:A$50)=0;SI('F1'!A$2:A$50<>"";LIGNE('F1'!A$2:A$50)))))&""
A valider Ctrl + Maj + Enter

Liste triée
en C2 :
Code:
=SI(OU(A2="";NB.SI(A$2:A2;A2)>1);"";NB.SI(A:A;">="&A2))
En D2:
Code:
=SI(LIGNE()-1>NB(C:C);"";INDEX(A:A;EQUIV(GRANDE.VALEUR(C:C;LIGNE()-1);C:C;0)))

A+ à tous
 
Dernière édition:

JCGL

XLDnaute Barbatruc
Re : Lsiter valeurs colonne

Bonjour à tous,

Bien sûr que j'ai un fichier...
Je me suis servi de celui que tu as déposé... :p

A+ à tous
 

Pièces jointes

  • JC Validation.xls
    18 KB · Affichages: 57
  • JC Validation.xls
    18 KB · Affichages: 57
  • JC Validation.xls
    18 KB · Affichages: 55
Dernière édition:

tellib

XLDnaute Junior
Re : Lsiter valeurs colonne

ok merci beaucoup :)
ca marche !
bravo...
mais je ne comprends absolument pas comment ça fonctionne
c'est possible d'avoir une explication sur le raisonnement pour arriver à une formule pareille ?
=INDEX('F1'!A$1:A$50;MIN(SI(NB.SI(B$1:B3;'F1'!A$2:A$50)=0;SI('F1'!A$2:A$50<>"";LIGNE('F1'!A$2:A$50)))))&""
 
Dernière édition:

JCGL

XLDnaute Barbatruc
Re : Lsiter valeurs colonne

Bonjour à tous,

C'est une formule de Monique(je crois presque certainement)... Il y a longtemps que je ne cherche plus à comprendre "à fond" (et Roger et Tibo :) ont aussi pris "le virus") ces formules.

"Total Confiance" :)

A mon niveau, j'essaye, ça marche, je retiens mais toujours en essayant d'adapter... Avant de poster...

A+ à tous
 
Dernière édition:

CISCO

XLDnaute Barbatruc
Re : Lsiter valeurs colonne

Bonsoir

Celle là, je l'ai comprise car je m'en sers souvent !!!

Alors, voilà, avec mon charabia

=INDEX('F1'!A$1:A$50;MIN(SI(NB.SI(B$1:B1;'F1'!A$2:A$50)=0;SI('F1'!A$2:A$50<>"";LIGNE('F1'!A$2:A$50)))))&""


INDEX('F1'!A$1:A$50 renvoie une valeur prise dans la plage 'F1'!A$1:A$50 sur la ligne x déterminée avec les données suivantes :

NB.SI(B$1:B1;'F1'!A$2:A$50)=0 compte le nombre de contenu de B1 rencontré dans la plage 'F1'!A$2:A$50. Si ce NB.SI est égal à zéro, c'est que B1 n'a pas encore été rencontré et qu'il va falloir tenir compte de toutes les valeurs de la plage A2:A50 (puisqu'elles sont toutes nouvelles).

SI('F1'!A$2:A$50<>"" :
SI A2 <> "", on retient le numéro de la ligne de A2, donc 2, puis on fait le test avec A3, et ainsi de suite (puisqu'il s'agit d'un calcul matriciel).

On obtient donc une liste de numéro de ligne. On ne retient que le min de cette liste, c'est à dire le numéro de la première ligne différente de B1 dans la plage A2:A50.



A la ligne suivante, on a
=INDEX('F1'!A$1:A$50;MIN(SI(NB.SI(B$1:B2;'F1'!A$2:A$50)=0;SI('F1'!A$2:A$50<>"";LIGNE('F1'!A$2:A$50)))))&""

INDEX('F1'!A$1:A$50 renvoie une valeur prise dans la plage 'F1'!A$1:A$50...

SI(NB.SI(B$1:B2;'F1'!A$2:A$50)=0 compte le nombre de contenu de B1 rencontré dans la plage A2:A50 puis fait le même boulot que précédemment (si = 0....)

puis compte le nombre de contenu de B2....

Un exemple en pièce jointe pour montrer le role de la cellule B1.

Faire très attention, avec cette méthode, le $ de B$1:B1 est très important. Il permet de faire le test dans tout le haut de la colonne B. En B20 pa rexemple, on fera le test avec toutes les textes de B1 à B19.

La formule complète, en B20 par ex, permet donc de ne pas prendre en compte les lignes de A2:A50 contenant des textes déja écrits dans B1:B19 (d'où élimination des doublons), donc de ne retenir que celles contenant des "nouveautés", puis finalement de ne garder que la première de cette ligne.

@ plus
 

Pièces jointes

  • JC Validation(1) non trié.xls
    21 KB · Affichages: 30
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 198
Messages
2 086 137
Membres
103 129
dernier inscrit
Atruc81500