Bonjour,

Je cherche à trier un tableau multidimensionnel par rapport à une colonne.
Le problème c'est que mon tableau est tres grand et du coup le temps d'execusion de mon code ci dessous est bloquant ( plus de 4h) je precise que mon tableau est dynamique avec une taille de minimum ( 365000,13) c'est la premiere dimension qui varie.

D'où ma demande : Est ce que quelqu un pour ne filer un code pour faire le tri plus rapide que le mien.

Voici mon code qui marche tres bien en cas de peu de données

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Sub TriInsertionStrings(TableauATrier() As Variant, ByVal ColonneTri As Long, _
                              ByVal lDebutTableau As Long, _
                              ByVal lFinTableau As Long)
 
    Dim sValeur()  As Variant
    Dim lCount1 As Long
    Dim lCount2 As Long
    Dim lCptCol  As Long
 
    ReDim sValeur(UBound(TableauATrier, 2))
    'Parcours les éléments
    For lCount1 = lDebutTableau + 1 To lFinTableau
        For lCptCol = 0 To UBound(TableauATrier, 2)
            sValeur(lCptCol) = TableauATrier(lCount1, lCptCol)
        Next lCptCol
 
 
 
        'Trouve la place pour mettre l'élément
        For lCount2 = lCount1 - 1 To lDebutTableau Step -1
            If TableauATrier(lCount2, ColonneTri) < sValeur(ColonneTri) Then
                Exit For
            End If
            For lCptCol = 0 To UBound(TableauATrier, 2)
                TableauATrier(lCount2 + 1, lCptCol) = TableauATrier(lCount2, lCptCol)
            Next lCptCol
        Next lCount2
 
        ' Insert it
        For lCptCol = 0 To UBound(TableauATrier, 2)
            TableauATrier(lCount2 + 1, lCptCol) = sValeur(lCptCol)
        Next lCptCol
    Next
End Sub
Merci pour votre aide