Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

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
293
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…