Bonjour,
J'ai un fichier Excel avec plus de 400 000 lignes par X colonnes.
Je désire faire un trie avec 3 critères. Cependant, lorsque je fais un trie "normal" avec Excel (Sort), le classeur ne fini pas à trier les données. Donc je veux me tourner vers le Trie avec Tableau VBA.
Cependant, pour faire de tels tries, je suis pas assez bon :?.
VOici le "Sort" pondu par l'enregistreur de macro:
et j'ai aussi celui-ci que j'aimerais trier, il n'a qu'un seul critère :
Seriez-vous en mesure de m'aider ??
Merci,
Hehee
J'ai un fichier Excel avec plus de 400 000 lignes par X colonnes.
Je désire faire un trie avec 3 critères. Cependant, lorsque je fais un trie "normal" avec Excel (Sort), le classeur ne fini pas à trier les données. Donc je veux me tourner vers le Trie avec Tableau VBA.
Cependant, pour faire de tels tries, je suis pas assez bon :?.
VOici le "Sort" pondu par l'enregistreur de macro:
Code:
'Trie les transactions avant de faire l'analyse des données
Sub Trier_transaction()
Dim nb_transaction As Long
Sheets("Transactions").Activate
nb_transaction = Range("F2").CurrentRegion.Rows.Count
ActiveWorkbook.Worksheets("Transactions").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Transactions").Sort.SortFields.Add Key:=Range(Cells(2, 6), Cells(nb_transaction + 1, 6)) _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
ActiveWorkbook.Worksheets("Transactions").Sort.SortFields.Add Key:=Range(Cells(2, 9), Cells(nb_transaction + 1, 9)) _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
ActiveWorkbook.Worksheets("Transactions").Sort.SortFields.Add Key:=Range(Cells(2, 10), Cells(nb_transaction + 1, 10)) _
, SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Transactions").Sort
.SetRange Range(Cells(2, 1), Cells(nb_transaction + 1, 22))
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
et j'ai aussi celui-ci que j'aimerais trier, il n'a qu'un seul critère :
Code:
Sub Trier_LT_Viole()
Dim nb_LT_viole As Long
Sheets("LT violé").Select
nb_LT_viole = Range("A2").CurrentRegion.Rows.Count
ActiveWorkbook.Worksheets("LT violé").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("LT violé").AutoFilter.Sort.SortFields.Add Key:=Range(Cells(2, 3), Cells(nb_LT_viole + 1, 3)) _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("LT violé").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Seriez-vous en mesure de m'aider ??
Merci,
Hehee