Bonjour à tous,
J'ai dans mon projet plusieurs listbox multicolonne que j'alimente de la façon suivante (trois colonnes dans cet exemple) :
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
With ListeProduit2
    .Clear
    derligne = Split(Worksheets("Produits").UsedRange.Address, "$")(4)
    For j = 2 To derligne
        Select Case Worksheets("Produits").Range("A" & j).Value
            Case Is = ComboNumEssai2.Value
                .AddItem
                .List(k, 0) = Worksheets("Produits").Range("A" & j).Value
                .List(k, 1) = Worksheets("Produits").Range("B" & j).Value
                .List(k, 2) = Worksheets("Produits").Range("C" & j).Value
                k = k + 1
            Case Else
        End Select
    Next j
End With
Je cherche le moyen de trier les données de cette ListBox, tri sur la 1ere colonne puis la seconde, etc...
J'ai parcouru le forum sans succès.
Je parle bien de ListBox et non de Combobox. D'ailleurs je trie mes ComboBox à l'aide d'une fonction trouvée je ne sais plus ou :
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
Function ListSort(liSte)
 '  Sorts the List array in ascending order
  Dim First As Integer, Last As Integer
 
 Dim i As Integer, j As Integer
  Dim Temp
 
  First = LBound(liSte)
  Last = UBound(liSte)
  For i = First To Last - 1
    For j = i + 1 To Last
      If liSte(i, 0) > liSte(j, 0) Then
        Temp = liSte(j, 0)
        liSte(j, 0) = liSte(i, 0)
        liSte(i, 0) = Temp
      End If
    Next j
  Next i
  ListSort = liSte
 End Function
L'idéal serait pour moi de fonctionner également sur le principe d'une fonction à appeler à chaque fois que j'en ai besoin.

D'avance merci pour vos idées.
Cordialement,

J'apporte une précision :
la fonction que j'utilise fonctionne bien entendu pour trier une listbox mais que sur une colonne.
ce que je souhaite c'est pouvoir trier sur colonne 1 puis 2 puis 3...
merci