Tri multi-critères d'un tableau à 2 dimensions

hehee

XLDnaute Nouveau
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:

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
 

Paritec

XLDnaute Barbatruc
Re : Tri multi-critères d'un tableau à 2 dimensions

Bonjour Hehee le forum
tu peux pas nous mettre un bout de fichier car a mon avis tu oublies de nous dire des trucs!!!
n'as tu pas des formules dans ta feuille "Transaction" ???
a te relire
Papou:)
 

hehee

XLDnaute Nouveau
Re : Tri multi-critères d'un tableau à 2 dimensions

Bonjour Hehee le forum
tu peux pas nous mettre un bout de fichier car a mon avis tu oublies de nous dire des trucs!!!
n'as tu pas des formules dans ta feuille "Transaction" ???
a te relire
Papou:)

Allo Paritec,
Tu avais raison, j'avais oublié une colonne qui avait des formules de "RechercheV", donc ca plantait !

Merci !
 

Paritec

XLDnaute Barbatruc
Re : Tri multi-critères d'un tableau à 2 dimensions

Re Hehee le forum
oui dans une base mettre des formules c'est pas bon du tout du tout
et en plus pour traiter 400 000 lignes là il faut proscrire les formules ou alors acheter un lit pour poser devant ton moniteur
a+
papou:)
 

Discussions similaires

Réponses
3
Affichages
586
Réponses
11
Affichages
436

Statistiques des forums

Discussions
312 228
Messages
2 086 421
Membres
103 205
dernier inscrit
zch