Trier plusieurs colonne listbox

Bonjour,

SVP, est ce que possible trier 3 colonnes ou plus automatique lors de l'ouverture USF (userform_initialize) par ordre croissant

Merci

sans titre1 sans titre
293.xlsm (28.30 Ko)

Bonjour,

Un essai ...

Private Sub UserForm_Initialize()
   Dim y As Long

    ListBox1.ColumnCount = 6
    'ListBox1.ColumnHeads = True
    y = Cells(Rows.Count, "C").End(xlUp).Row
    ListBox1.List = Range("A2:F" & y).Value
    ListBox1.TopIndex = ListBox1.ListCount - 1
'==================================================
    Dim a(), b(), c()
    a = Me.ListBox1.List
    Call tri(a(), LBound(a), UBound(a), 6, 0)
    b = a
    Call tri(b(), LBound(a), UBound(b), 6, 2)
    c = b
    Call tri(c(), LBound(a), UBound(c), 6, 5)

   Me.ListBox1.List = c
    End Sub

Sub tri(x(), gauc, droi, NbCol, colTri)        ' Quick sort (JBGontier)
ref = x((gauc + droi) \ 2, colTri)
g = gauc: D = droi
    Do
        Do While x(g, colTri) < ref: g = g + 1: Loop
        Do While ref < x(D, colTri): D = D - 1: Loop
        If g <= D Then
            For c = 0 To NbCol - 1
                temp = x(g, c): x(g, c) = x(D, c): x(D, c) = temp
            Next

            g = g + 1: D = D - 1
        End If
    Loop While g <= D

    If g < droi Then Call tri(x, g, droi, NbCol, colTri)
    If gauc < D Then Call tri(x, gauc, D, NbCol, colTri)
End Sub

ric

Bonjour ric,

Merci pour votre aide;

Est-ce que possible tirer les vide aussi.

Exemple

2 1

Bonjour,

Je ne sais pas > sûrement > je regarde ...

ric

Bonjour,

Il y a une différence dans tri.

merci pour vos efforts.

3

Bonjour,

En fait le code que j'ai soumis ne fonctionne pas > il tri bien la colonne F > mais, si tu regardes au bas les 24-05-2020 > le trie de la colonne C ne se fait pas pour ces dates.

Je ne crois pas que mes faibles connaissances puissent faire cela.

Désolé >> j'espère que qu'un meilleur se sentira interpellé afin de te trouver une solution.

ric

Bonjour,

Merci Beaucoup ric

Bonjour,

Une façon de faire serait de trier la feuille directement ... avant de la lire pour alimenter la listbox.

Cela peut se faire via macro.

ric

Bonsoir,

Merci pour votre aide ric

J'utilise actuellement "trier la feuille directement " ;

Mais en fait j'espère qu'il y a une méthode via macro ;

SVP je souhaite l’aide d'un autre membre

Merci

Rechercher des sujets similaires à "trier colonne listbox"