XL 2019 tri dans une TXbox

MOmichel

XLDnaute Junior
bonjour à tous et en premier Bonne année 2021

j'ai une TXBox ou il y a un résultat de recherche comme ci dessous
vous pouvez voir dans la colonne 2 de ce tableau l'exemple IC-070-0000075 qui apparait sur 2 lignes (ce qui est normal une action est en cours et l'autre dite "Clos")

je voudrais pouvoir afficher ce meme résultat mais en affichant le résultat de ma recherche par ordre croissant colonne 2
est-ce possible ?

je vous mets le code pour arriver à ce résultat en dessous de ce tableau


1609776012378.png




Dim C As Range, firstaddr As String
If Len(Me.txtReference.Value) = 0 Then Exit Sub
'lblrefrencecherchée = True
Me.lblrefrencecherchée.Visible = True
Me.ListBox1.Visible = True
ListBox1.ColumnCount = 6 '10 colonne dans le tableau de resultats
ListBox1.ColumnWidths = "25" 'espacé de 0 Pt
ListBox1.Clear 'clear la listBox à chaque passage de la fonction
Set C = Range("Tsource").Columns("a:c").Find("*" & Me.txtReference.Value & "*")
'Set C = Range("Tsource").Find("*" & Me.txtReference.Value & "*")

If Not C Is Nothing Then
firstaddr = C.Address
End If
Do Until C Is Nothing
'lblrefrencecherchée = True
Me.ListBox1.AddItem C.Row - 1
Me.ListBox1.List(ListBox1.ListCount - 1, 1) = Range("Tsource").Cells(C.Row - 1, 1).Value
Me.ListBox1.List(ListBox1.ListCount - 1, 2) = Range("Tsource").Cells(C.Row - 1, 3).Value
Me.ListBox1.List(ListBox1.ListCount - 1, 3) = Range("Tsource").Cells(C.Row - 1, 6).Value
Me.ListBox1.List(ListBox1.ListCount - 1, 4) = Range("Tsource").Cells(C.Row - 1, 8).Value
Me.ListBox1.List(ListBox1.ListCount - 1, 5) = (Range("Tsource").Cells(C.Row - 1, 11).Value & " " & Range("Tsource").Cells(C.Row - 1, 12).Value)
Set C = Range("Tsource").Columns("a:c").FindNext(After:=C)

'Set C = Range("Tsource").FindNext(After:=C)
If C.Address = firstaddr Then
Exit Do
End If
Loop

Application.ScreenUpdating = True
 

ChTi160

XLDnaute Barbatruc
Bonsoir MOmichel

Peut être en Triant ta Base de Données
VB:
Range("Tsource")
Sur la les colonne(s) que tu veux en Croissant ou Décroissant tu auras ainsi tes données qui seront récupérées dans un tableau trié !
Pas de fichier , pas de proposition Lol
jean marie
 

Dudu2

XLDnaute Barbatruc
Bonjour,

Je profite de ce sujet pour partager des fonctions de tri que j'ai récemment finalisées parce que les tris par permutations que j'utilisais sont limités en efficacité pour les grands tableaux.
Je suis parti d'un QuickSort récupéré sur internet, limité à un tableau à 1 dimension.

Je l'ai étendu à un tableau à 2 dimensions (disons lignes et colonnes pour rester pragmatique) dont la 2ème dimension peut être de n'importe quelle taille et qui peut être trié sur plusieurs colonnes.

J'ai fait la même chose avec un ShellSort mais le QuickSort est plus rapide.

Vu que les .bas ne sont pas acceptés ici (et pourquoi ?) -> https://cjoint.com/c/KAewGaxhEa4

VB:
'3 fonctions liées au tri:
'- QuickSortColumn qui permet de trier un tableau à 1 dimension ou un tableau 2 dimensions sur l'une de ses colonnes
'- QuickSortMultiColumns qui couvre les fonctionnalités de QuickSortColumn mais permet en plus de trier sur plusieurs colonnes
'- QuickSortValeursUniques qui retourne un tableau des valeurs uniques d'un tableau à 1 ou 2 dimension (2ème dimension = 1) ou d'un Range
'
 
Dernière édition:

Statistiques des forums

Discussions
292 869
Messages
1 926 872
Membres
183 295
dernier inscrit
nikodème