Tri alphabétique Listbox dans un Usf

  • Initiateur de la discussion Initiateur de la discussion Jeremy011991
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

J

Jeremy011991

Guest
Bonjour à tous,

J'ai créer un UserForm.
J'y ai inséré une ListBox, avec pour source une plage de 7 ou 8 colonnes. Cependant, je souhaiterai effectuer un tri alpha et croissant, sur la première colonne..(et bien évidemment que les colonnes relatives à cette colonnes se trient également).

Si quelqu'un connait une solution, un site qui propose une solution...ce serait avec grand plaisir.

Merci à vous d'avance ! 🙂
 

Pièces jointes

Dernière modification par un modérateur:
Re : Tri alphabétique Listbox dans un Usf

Merci pour ta réponse. J'avais déjà "tenté" une synthaxe de ce genre là...et en appliquant ces paramètres, j'ai un problème d'execution 70 et une "Permission refusée".
A priori, tant que je ne résouds pas ce problème de permission, je ne saurai dire si ta solution fonctionne..

Une idée ?
 

Pièces jointes

Re : Tri alphabétique Listbox dans un Usf

Merci pour ta réponse. J'avais déjà "tenté" une synthaxe de ce genre là...et en appliquant ces paramètres, j'ai un problème d'execution 70 et une "Permission refusée".
A priori, tant que je ne résouds pas ce problème de permission, je ne saurai dire si ta solution fonctionne..

Une idée ?
 

Pièces jointes

Re : Tri alphabétique Listbox dans un Usf

Voir PJ


Code:
Private Sub UserForm_Initialize()
   With Sheets("feuil1")
     Me.ListBox1.List = .Range("c6:d" & .[c65000].End(xlUp).Row).Value
   End With
   a = Me.ListBox1.List
   NbCol = UBound(a, 2) - LBound(a, 2) + 1 ' nb de colonnes
   Call tri(a, LBound(a), UBound(a), NbCol, 0)
   Me.ListBox1.List = a
End Sub

Sub tri(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 tri(a, g, droi, NbCol, colTri)
   If gauc < d Then Call tri(a, gauc, d, NbCol, colTri)
End Sub

JB
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
XL 2021 listbox
Réponses
18
Affichages
651
B
Réponses
4
Affichages
2 K
BobExcel
B
Retour