Microsoft 365 tri sur listbox

caroff gerard

XLDnaute Nouveau
Bonjour a tous,

Je cherche a faire un tri décroissant sur la troisième colonne d'une listbox et ma fois tous mes essais sont vains( trop nul). Si quelqu'un peut m'apporter son aide....
merci
 

Pièces jointes

  • essai tri.xlsm
    20.6 KB · Affichages: 8

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Bonsoir,

VB:
Private Sub ComboBox1_click()
  semaine = Me.ComboBox1: n = 0
  Dim Tbl()
  For i = 1 To UBound(ptj)
     If ptj(i, 5) = semaine Then
        n = n + 1: ReDim Preserve Tbl(1 To UBound(ptj, 2), 1 To n)
        For k = 1 To UBound(ptj, 2): Tbl(k, n) = ptj(i, k): Next k
     End If
   Next i
   Me.ListBox1.Column = Tbl
   '--- tri décroissant
   Tbl = Me.ListBox1.List
   TriD Tbl, 2, LBound(Tbl), UBound(Tbl)
   Me.ListBox1.List = Tbl
  End Sub

  Sub TriD(a, ColTri, gauc, droi) ' Quick sort
  ref = a((gauc + droi) \ 2, ColTri)
  g = gauc: d = droi
  Do
    Do While a(g, ColTri) > ref: g = g + 1: Loop
    Do While ref > a(d, ColTri): d = d - 1: Loop
    If g <= d Then
       For k = LBound(a, 2) To UBound(a, 2)
         temp = a(g, k): a(g, k) = a(d, k): a(d, k) = temp
       Next k
       g = g + 1: d = d - 1
    End If
  Loop While g <= d
  If g < droi Then TriD a, ColTri, g, droi
  If gauc < d Then TriD a, ColTri, gauc, d
End Sub

Boisgontier
 

Pièces jointes

  • Copie de essai tri.xlsm
    23.6 KB · Affichages: 6
  • FiltreComboBox3.xlsm
    48.8 KB · Affichages: 8
Dernière édition:

Discussions similaires

Réponses
25
Affichages
649
Réponses
8
Affichages
330
Réponses
21
Affichages
1 K

Statistiques des forums

Discussions
312 164
Messages
2 085 877
Membres
103 009
dernier inscrit
dede972