Lsiter valeurs colonne

  • Initiateur de la discussion Initiateur de la discussion tellib
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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:
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:
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:
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:
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:
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

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
6
Affichages
214
Réponses
6
Affichages
258
Retour