Tri par bouton dans une listbox

TBS

XLDnaute Nouveau
Bonjour à tous

Je vous expose mon problème.

J'ai adapté un userform de recherche de Thierry qui fonctionne parfaitement merci à lui ;)

Malheureusement mes compétences s'arrete là.

J'aimerai rajouter dans ce userform un bouton pour faire un tri dans la listbox sur le label "nom du client" lorsque par exemple je tape "tata" je puisse mettre dans l'ordre alphabétique les éléments trouvés dans la listbox.

Il y a plusieurs sujet sur le tri sur le forum mais je n'ai pas trouver la solution

Merci d'avance pour vos réponses.

@+

TBS
 

Pièces jointes

  • Registre.zip
    26.6 KB · Affichages: 23
  • Registre.zip
    26.6 KB · Affichages: 21
  • Registre.zip
    26.6 KB · Affichages: 26

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Tri par bouton dans une listbox

Bonjour,

Code:
Private Sub Tri_Click()
    Dim a(), nbcol
    a = Me.ListBox1.List
    nbcol = UBound(a, 2) - LBound(a, 2) + 1
    Call Tri2(a(), LBound(a), UBound(a), nbcol, 1)
    Me.ListBox1.List = a
End Sub

Sub Tri2(a(), gauc, droi, nbcol, colTri) ' 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 C = 0 To nbcol - 1
             temp = a(g, C): a(g, C) = a(d, C): a(d, C) = temp
          Next
          g = g + 1: d = d - 1
       End If
   Loop While g <= d
   If g < droi Then Call Tri2(a, g, droi, nbcol, colTri)
   If gauc < d Then Call Tri2(a, gauc, d, nbcol, colTri)
End Sub

JB
Formation Excel VBA JB
 

TBS

XLDnaute Nouveau
Re : Tri par bouton dans une listbox

Bonjour BOISGONTIER

Merci pour ta réponse

Mais un problème survient lorsque je clic sur tri
a ce niveau cela s'arrete en me disant qu'il y a une erreur de compilation

Sub Tri2(a(), gauc, droi, nbcol, colTri) ' Quick sort
ref = a((gauc + droi) \ 2, colTri)


@+
 

Discussions similaires

Réponses
4
Affichages
343

Statistiques des forums

Discussions
312 395
Messages
2 088 035
Membres
103 705
dernier inscrit
mytek