tri valeur dans listbox

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 !

FullMetalKnet

XLDnaute Nouveau
bonjour,

je souhaiterais trier mes valeurs dans ma listbox par ordre alphabétique

ses valeurs sont dans une feuille nommée "Sites"

mes villes dans la colonne A et mes clients en horizontal

j'avais trouvé une macro pour trier directement sur la feuille en horizontal mais le problème c'est qu'il me prend aussi la valeur de la colonne A

Code:
Sub Tri_Horizontal()
Sheets("Sites").Select

For i = 1 To 100
Rows(i).Select
Selection.Sort Key1:=Rows(i), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlLeftToRight, _
DataOption1:=xlSortNormal
Next i
   
End Sub

est-ce possible de modifier le code pour qu'il me tri les ligne sans la colonne A
ou serait-il plus simple de créer une macro pour trier dans la listbox?

J'espère être assez explicite
 
Re : tri valeur dans listbox

Bonjour FullMetal, Skoobi

pour trier ta plage à partir de la colonne B, essaye ainsi :

Code:
Dim i As Long
For i = 1 To Range("B65536").End(xlUp).Row
    Range("B" & i, Range("IV" & i).End(xlToLeft)).Sort Key1:=Range("B" & i), _
        Order1:=xlDescending, Orientation:=xlLeftToRight
Next i

bonne journée
@+
 
Re : tri valeur dans listbox

Merci a Skoobi et Pierrot93 de m'avoir aider!!!

J'ai modifié ton code Pierrot
je préfère un tri ABC que CBA

mais petit soucis

il me met les valeurs de la colonne A dans la B, et les valeurs B dans la A

J'ai donc testé le code pas à pas, j'ai remarqué qu'il me le faisait que sur certaine ligne, alors qu'elles sont toutes sous le même format

pour ne plus avoir de problème j'exécute la macro 2 fois

Bizarre non??
 
Re : tri valeur dans listbox

Bonjour,

normal, il y a des cellules pour lesquelles il n'y a aucune valeur à trier, ou bien simplement une valeur en B.... modifie avec ce test....

Code:
Option Explicit
Sub test()
Dim i As Long
For i = 2 To Range("A65536").End(xlUp).Row
    If Range("IV" & i).End(xlToLeft).Column > 2 Then
        Range("B" & i, Range("IV" & i).End(xlToLeft)).Sort Key1:=Range("B" & i), _
            Order1:=xlAscending, Orientation:=xlLeftToRight
    End If
Next i
End Sub

bonne journée
@+
 
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

Discussions similaires

Réponses
3
Affichages
796
Réponses
1
Affichages
686
Retour