Staple1600
XLDnaute Barbatruc
Bonjour le fil, le forum
Je cherche à trier les données de trois colonnes adjacentes (dans cet exemple A,B,C), lignes par lignes mais de la gauche vers la droite.
J'ai écrit cette macro (qui fonctionne)
Mais j'aimerai pouvoir faire la même chose en utilisant les tableaux (Array)
Surtout si le nombre de lignes dépasse les 5000.
Malgré mes essais, pour l'instant, je sèche.
Merci à ceux qui pourront m'aiguiller sur la bonne voie.
NB: J'ai inclus une macro qui génère des données de test.
Attention: Codes à tester sur une feuille vierge (à cause du Cells.Clear)
Je cherche à trier les données de trois colonnes adjacentes (dans cet exemple A,B,C), lignes par lignes mais de la gauche vers la droite.
J'ai écrit cette macro (qui fonctionne)
Mais j'aimerai pouvoir faire la même chose en utilisant les tableaux (Array)
Surtout si le nombre de lignes dépasse les 5000.
Malgré mes essais, pour l'instant, je sèche.
Merci à ceux qui pourront m'aiguiller sur la bonne voie.
NB: J'ai inclus une macro qui génère des données de test.
Attention: Codes à tester sur une feuille vierge (à cause du Cells.Clear)
VB:
Sub Tri_Gauche_Droite()
Dim i As Long
Application.ScreenUpdating = False
DataTest
t = Timer()
'tri les données lignes par lignes de la gauche vers la droite
With Range(Cells(1, 1), Cells(Rows.Count, 3).End(3))
For i = 1 To .Rows.Count
.Cells(i, 1).Resize(, 3).Sort Key1:=.Cells(i, 1), Order1:=2, Orientation:=xlLeftToRight
Next
End With
MsgBox Timer - t
End Sub
Private Sub DataTest()
Cells.Clear
[A1] = 12: [A2] = 15: [B1] = 3: [B2] = 5: [C1] = 8: [C2] = 9
Range("A1:C2").AutoFill Destination:=Range("A1:C5000")
End Sub