OVH Cloud OVH Cloud

Trier une liste de + 65536 lignes

1 réponse
Avatar
Microsoft
Bonjour,

je cherche à trier un liste de plus de 65536 lignes, réparties donc sur
plusieurs colonnes.

C'est à dire imaginont que j'ai une liste de numéros allant de 1 à 180 000
mélangés aléatoirement et disposés sur feuille en 3 colonnes (A=655536
Lignes / B=65536 Lignes / C=48928 Lignes).

J'aimerais, en VBA, trier cette liste, disons de façon ascendante (soit de 1
à 180 000), et placer le résultat du tri en colonnes D,E,F de telle manière
que l'on trouve donc :

En colonne D (De la ligne 1 à 65536)
1
2
.../...
65535
65536

En colonne E (De la ligne 1 à 65536)
65537
65538
.../...
131071
131072

En colonne E (De la ligne 1 à 48928)
131073
131074
.../...
179999
180000


Si la solution existe et qu'elle met moins de 3 heures à remplir les 3
colonnes ..... c'est l'extase !!!


Merci d'avance


Serge

1 réponse

Avatar
ROCHE Pierre
Bonsoir,
Il y a une solution très simple avec la formule GRANDE.VALEUR
En D1: tu saisis GRANDE.VALEUR($A$1:$C$65535;1) ==> te donne la première
plus grande valeur de la plage.
En D2 : tu saisis GRANDE.VALEUR($A$1:$C$65535;2) ==> te donne la deuxième
plus grande valeur de la plage.
et ainsi de suite pour tes 65535 lignes de la colonne D.
Tu poursuis pour les 65535 autres lignes de la colonne E et pour les 48928
dernières lignes de la colonne F

Astuce pour incrémenter le rang de l'élément dans la liste (deuxième
paramètre de la formule)
En D1 : tu saisis GRANDE.VALEUR($A$1:$C$65535;iv1) ==> tu prends une cellule
(la dernière possible par exemple)
Tu étires le tout jusqu'à la ligne 65535, le iv1 va passer à iv2 pour la
deuxième ligne et ainsi de suite jusqu'en bas.
Puis tu sélectionnes la colonne entière et tu fais remplacer iv par "vide".
Et là oh miracle d'Excel ,c'est OK

Et voilà

Cordialement.

PS : la même chose existe avec PETITE.VALEUR()



"Microsoft" a écrit dans le message de news:

Bonjour,

je cherche à trier un liste de plus de 65536 lignes, réparties donc sur
plusieurs colonnes.

C'est à dire imaginont que j'ai une liste de numéros allant de 1 à 180 000
mélangés aléatoirement et disposés sur feuille en 3 colonnes (Ae5536
Lignes / Be536 Lignes / CH928 Lignes).

J'aimerais, en VBA, trier cette liste, disons de façon ascendante (soit de
1 à 180 000), et placer le résultat du tri en colonnes D,E,F de telle
manière que l'on trouve donc :

En colonne D (De la ligne 1 à 65536)
1
2
.../...
65535
65536

En colonne E (De la ligne 1 à 65536)
65537
65538
.../...
131071
131072

En colonne E (De la ligne 1 à 48928)
131073
131074
.../...
179999
180000


Si la solution existe et qu'elle met moins de 3 heures à remplir les 3
colonnes ..... c'est l'extase !!!


Merci d'avance


Serge