[VBA] - Trier une Listbox

Bonjour,

J'essaie en vain de trier des données dans une ListBox. L'opération est relativement simple puisqu'il s'agit juste de les classer dans l'ordre alphabétique, avec 1 seule colonne à trier (dans mon exemple ; pour le moment).

J'ai même pu réaliser des tests sur l'un des fichiers transmis par ceuzin dans un sujet de 2018 ; issu du travail de Boisgontierjacques

Lien : https://forum.excel-pratique.com/excel/trier-un-listbox-multicolonnes-sans-faire-appel-a-un-tableau-...

Lorsque la macro de tri est exécutée, j'ai une erreur qui m'indique que l'indice n'appartient pas à la sélection.

Habituellement j'arrive à corriger ce genre d'erreur, mais là je ne vois pas...

Vous auriez une idée ?

Je joins un fichier qui illustre bien le problème.

Merci de votre attention

Bonne journée !

Bonjour,

Ci-contre le code corrigé :

Private Sub CommandButton1_Click()
  Dim u()
  u = Me.ListBox1.List
  Tri u(), 0, LBound(u, 1), UBound(u, 1) 'Modifié ici 1 par 0
  Me.ListBox1.List = u
End Sub

Votre list est en base 0, vous n'avez qu'une colonne donc la colonne de tri se fait sur l'index 0 et non 1.

Cdlt,

Merci ! Pour la deuxième fois aujourd'hui

Vous m'avez beaucoup aidé aujourd'hui ! J'ai pratiquement terminé la création de mon générateur de liste (sans votre aide j'en serais probablement encore à me demander pourquoi mes tableaux ne récupèrent pas que les lignes filtrées...).

Bonne journée !

Rechercher des sujets similaires à "vba trier listbox"