Tri ordonné

jeanjacques

XLDnaute Junior
Bonjour,
Je souhaiterais classer en ordre croissant les cellules A:T de mon classeur (environ 500 lignes), résultat à partir de U

Avez-vous une solution?

merci à vous.

(exemple avec 3 lignes fourni)
 

Pièces jointes

  • macrotri.xlsx
    9.9 KB · Affichages: 25

Modeste geedee

XLDnaute Barbatruc
Bonsour®
Bonjour,
Je souhaiterais classer en ordre croissant les cellules A:T de mon classeur (environ 500 lignes), résultat à partir de U

Avez-vous une solution?
merci à vous.
(exemple avec 3 lignes fourni)
Le tri personnalisé n'acceptant pas plus de 6 colonnes de tri simultanées.
il faut effectuer des tris successifs en commençant par les dernières colonnes
soit par groupe de 6
upload_2017-10-31_10-0-20.png

soit colonne par colonne ( boucle macro)
 

jeanjacques

XLDnaute Junior
Bonjour,

Bon! j'y suis arrivé en 'bidouillant' une macro trouvée sur le net, en modifiant (comme j'ai pu......!!) le nombre de clés de tri de 8 à 20.

Très rapide, plus de 500 lignes en 2 secondes.

Merci à vous, je joins un bout de résultat.

a+
 

Pièces jointes

  • Classeur2.xlsx
    13.4 KB · Affichages: 15

Modeste geedee

XLDnaute Barbatruc
Bonsour®
Bonjour,

Bon! j'y suis arrivé en 'bidouillant' une macro trouvée sur le net, en modifiant (comme j'ai pu......!!) le nombre de clés de tri de 8 à 20.

Très rapide, plus de 500 lignes en 2 secondes.
Heu.... très rapide, un fichier .xlsx ne contient pas de macro !!!!
VB:
Sub Macro1()
'
' Macro1 Macro
Dim col As Integer, lig As Integer, i As Integer
  Range("A1").CurrentRegion.Select
  col = Selection.Columns.Count
  lig = Selection.Rows.Count
  ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Clear
  For i = 1 To col
  ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range(Cells(1, i), Cells(lig, i)) _
  , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
  Next
  With ActiveWorkbook.Worksheets("Feuil1").Sort
  .SetRange Range("A1").CurrentRegion
  .Header = xlNo
  .MatchCase = False
  .Orientation = xlTopToBottom
  .SortMethod = xlPinYin
  .Apply
  End With
ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Clear
End Sub
 
Dernière édition:

Discussions similaires

Réponses
16
Affichages
264

Statistiques des forums

Discussions
312 111
Messages
2 085 396
Membres
102 882
dernier inscrit
Sultan94