Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Classer dans l'ordre alphabétique une liste de strings ^^

A

Arsene

Guest
Bonjour tout le monde!
Je n'avais pas posé de questions aujourd"hui, donc je profite d'une question qui se pose à moi, pour vous la faire partager!

Voilà le matos:

- une Range "nom_feuil" sur une feuille excel qui me permet de stocker tout un tas de données diverses necessaires à mon application.
Cette range est formé d'une simple colonne comportant un nombre variable de strings. La range change donc de taille selon les actions de l'utilisateur.

- Un UserForm, dans lequel se trouve une liste modifiable, dont la source est la range citée ci dessus.

Mon problème:
Obtenir une liste triée par ordre alphabétique dans mon UserForm.

Voilà, je ne sais trop comment faire pour arriver à ce résultat.
Je rappelle que je travaille sous excel 97.

Merci d'avance!
 
Z

Zon

Guest
Salut,

Ce genre de truc t'irais

T = Application.Transpose(Range("A1:Axxxx").Value)
TrieTableau 1, UBound(T)
Talistbox.List = T


Sub TrieTableau(Deb As Long, Fin As Long)'Ti
Dim IndiceInf As Long, IndiceSup As Long
Dim Temp1, Pivot
IndiceInf = Deb
IndiceSup = Fin
Pivot = UCase(T((Deb + Fin) \ 2))
Do
While UCase(T(IndiceInf)) < Pivot
IndiceInf = IndiceInf + 1
Wend
While Pivot < UCase(T(IndiceSup))
IndiceSup = IndiceSup - 1
Wend
If IndiceInf <= IndiceSup Then
Temp1 = T(IndiceInf)
T(IndiceInf) = T(IndiceSup)
T(IndiceSup) = Temp1
IndiceInf = IndiceInf + 1
IndiceSup = IndiceSup - 1
End If
Loop Until IndiceInf > IndiceSup
If Deb < IndiceSup Then TrieTableau Deb, IndiceSup
If IndiceInf < Fin Then TrieTableau IndiceInf, Fin
End Sub


A+++
 
A

Arsene

Guest
Bonjour, merci pour ta réponse, mais le "T" je le déclare sous quelle forme?
De plus on ne passe pas T en argument à la fonction TrieTableau...
Bref je vois à peu pret le principe, mais ça ne fonctionne pas...

Si tu( ou quelqu'un d'autre ) pouvais me donner les détails, ça me serait très utile.

Merci d'avance.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…