Trier une ListBox par Date

  • Initiateur de la discussion Initiateur de la discussion Tiketie
  • 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 !

T

Tiketie

Guest
Bonjour tout le monde,

J'ai une ListBox à 6 colonnes, dont une contenant des dates au format JJ/MM/AAAA.
J'aimerais bien arranger cette ListBox de manière à ce que les lignes contenant les dates les plus récentes apparaissent en premier...
J'ai pas mal cherché sur le net, et je n'y ai pas trouvé mon bonheur...

Je suis ouvert à toutes propositions ^^

Merci d'avance
 
Bonjour voici une procédure que je n'ai pas utilisée depuis très longtemps
Elle fonctionne avec une liste box à 1 colonne,'il faudra peut-être adaptée,
Rentrer dans la procédure l'objet listbox
'procédure de trie d'une listebox

Sub trie(liste)
n = liste.ListCount
ReDim matable(n)

For i = 0 To n - 1
'Si les valeur sont numériques
If IsNumeric(liste.List(i)) = True Then
k1 = Val(liste.List(i))
'__________Si alpha_______
Else
k1 = LCase(liste.List(i))
End If
If k1 > maxi Then
matable(i) = k1
maxi = k1
Else
k = 0
While k1 > matable(k)
k = k + 1
Wend
'décallage
For Z = i To k Step -1
matable(Z + 1) = matable(Z)
Next
matable(k) = k1
Application.StatusBar = i
End If
Next
liste.List() = matable

End Sub

! coucou à tous
 
Bonjour.
J'ai des modules de service pour ça.
J'en équiperais volontiers votre classeur joint.

Merci beaucoup pour vos réponses, je vous transmets mon fichier, mais je vous préviens ce n'est pas glorieux ^^ (je débute en VBA)
C'est un projet de bdd pour un salon de coiffure, bien entendu tout les noms et coordonnées que vous y trouverez sont fictifs ^^
Vous pourrez y voir des macros dont une effectuant un tri par ordre alphabétique automatique..
 

Pièces jointes

Bonjour voici une procédure que je n'ai pas utilisée depuis très longtemps
Elle fonctionne avec une liste box à 1 colonne,'il faudra peut-être adaptée,
Rentrer dans la procédure l'objet listbox
'procédure de trie d'une listebox

Sub trie(liste)
n = liste.ListCount
ReDim matable(n)

For i = 0 To n - 1
'Si les valeur sont numériques
If IsNumeric(liste.List(i)) = True Then
k1 = Val(liste.List(i))
'__________Si alpha_______
Else
k1 = LCase(liste.List(i))
End If
If k1 > maxi Then
matable(i) = k1
maxi = k1
Else
k = 0
While k1 > matable(k)
k = k + 1
Wend
'décallage
For Z = i To k Step -1
matable(Z + 1) = matable(Z)
Next
matable(k) = k1
Application.StatusBar = i
End If
Next
liste.List() = matable

End Sub

! coucou à tous

Merci ! Je vais me pencher dessus...
 
Bonjour,

Exemple en PJ

Code:
Private Sub CommandTriNom_Click()
  Dim a()
  a = Me.ListBox1.list
  Call Tri(a(), 1, LBound(a, 1), UBound(a, 1))
  Me.ListBox1.list = a
End Sub

Private Sub CommandTriCompte_Click()
  Dim a()
  a = Me.ListBox1.list
  Call Tri(a(), 0, LBound(a, 1), UBound(a, 1))
  Me.ListBox1.list = a
End Sub

Sub Tri(a, ColTri, gauc, droi) ' 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 k = LBound(a, 2) To UBound(a, 2)
  temp = a(g, k): a(g, k) = a(d, k): a(d, k) = temp
  Next k
  g = g + 1: d = d - 1
  End If
  Loop While g <= d
  If g < droi Then Call Tri(a, ColTri, g, droi)
  If gauc < d Then Call Tri(a, ColTri, gauc, d)
End Sub

JB
 

Pièces jointes

Merci Beaucoup
Je vais voir si je peux adapter cela à mon fichier et si cela fonctionne avec des dates

EDIT :
Il semblerait que ça ne fonctionne pas, l'erreur "L'indice n'appartient pas à la sélection" ne cesse d'apparaître.
 
Dernière modification par un modérateur:
Une autre idée que j'ai eu est d'appliquer un deuxième filtre sur ma feuille :

En effet, on tri d'abord par date, et ensuite par Identifiant, les dates les plus récentes apparaîtront en première !

Seulement, je ne sais pas 1)Comment le faire et 2)Si cela m'aidera.....
 
- 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

Réponses
3
Affichages
350
  • Question Question
Microsoft 365 Formule excel
Réponses
7
Affichages
302
Réponses
45
Affichages
3 K
Retour