Bonjour,
Comment faire pour trier des dates au format JJ/MM/AA dans un ListBox de
façon croissante ?
Il n'y a pas de probleme avec le format numerique mais comme mes dates sont
suivies d'un nom (string) la conversion s'en trouve problèmatique.
merci bien
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
X
Bonsoir,
Tu as donc date + string
Soit jj/mm/aa + string
Alors tu peux prendre un seconde liste avec la propriété sorted=true, et tu fais ce qui suit: list2.clear ' liste destination triée (sorted=true) for i = 0 to list1.listcount - 1 ' liste origine list2.additem list1.list(i) next i Et ta liste 2 est classé par date...
Si tu veux un tri dans un ordre différent, tu fais une boucle inversée list3.clear ' + sortedúlse for i = list2.listcount-1 to 0 step -1 list3.additem list2.list(i) next i
Et si tu ne veux pas utiliser de listes, tu peux faire des tris bulles: dim ligne() as string dim trans as string dim i as long dim j as long dim k as long ' k = list1.listcount redim ligne(k) for i = 0 to k - 1 ' décharge la liste -> variables ligne(i+1) = list1.list(i) next i ' for j = 1 to k for i = 0 to k -1 if ligne(i) > ligne(i+1) then trans = ligne(i) ligne(i) = ligne(i+1) ligne(i+1) = trans endif next i next j ' list1.clear ' remise variables -> liste for i = 1 to k ' décharge la liste -> variables list1.additem ligne(k) next i
Je n'ai rien testé (tout fait de mémoire), si ça coince, fait signe :o)
Cordialement :o) ------------------------------
"Ciginfo" a écrit dans le message de news: 432da6b6$0$5385$
Bonjour, Comment faire pour trier des dates au format JJ/MM/AA dans un ListBox de façon croissante ? Il n'y a pas de probleme avec le format numerique mais comme mes dates sont suivies d'un nom (string) la conversion s'en trouve problèmatique. merci bien
François
Bonsoir,
Tu as donc
date + string
Soit
jj/mm/aa + string
Alors tu peux prendre un seconde liste avec la propriété sorted=true, et
tu fais ce qui suit:
list2.clear ' liste destination triée (sorted=true)
for i = 0 to list1.listcount - 1 ' liste origine
list2.additem list1.list(i)
next i
Et ta liste 2 est classé par date...
Si tu veux un tri dans un ordre différent, tu fais une boucle inversée
list3.clear ' + sortedúlse
for i = list2.listcount-1 to 0 step -1
list3.additem list2.list(i)
next i
Et si tu ne veux pas utiliser de listes, tu peux faire des tris bulles:
dim ligne() as string
dim trans as string
dim i as long
dim j as long
dim k as long
'
k = list1.listcount
redim ligne(k)
for i = 0 to k - 1 ' décharge la liste -> variables
ligne(i+1) = list1.list(i)
next i
'
for j = 1 to k
for i = 0 to k -1
if ligne(i) > ligne(i+1) then
trans = ligne(i)
ligne(i) = ligne(i+1)
ligne(i+1) = trans
endif
next i
next j
'
list1.clear ' remise variables -> liste
for i = 1 to k ' décharge la liste -> variables
list1.additem ligne(k)
next i
Je n'ai rien testé (tout fait de mémoire), si ça coince, fait signe :o)
Cordialement :o)
------------------------------
"Ciginfo" <Cigognes@wanadoo.fr> a écrit dans le message de news:
432da6b6$0$5385$8fcfb975@news.wanadoo.fr...
Bonjour,
Comment faire pour trier des dates au format JJ/MM/AA dans un ListBox de
façon croissante ?
Il n'y a pas de probleme avec le format numerique mais comme mes dates
sont suivies d'un nom (string) la conversion s'en trouve problèmatique.
merci bien
Alors tu peux prendre un seconde liste avec la propriété sorted=true, et tu fais ce qui suit: list2.clear ' liste destination triée (sorted=true) for i = 0 to list1.listcount - 1 ' liste origine list2.additem list1.list(i) next i Et ta liste 2 est classé par date...
Si tu veux un tri dans un ordre différent, tu fais une boucle inversée list3.clear ' + sortedúlse for i = list2.listcount-1 to 0 step -1 list3.additem list2.list(i) next i
Et si tu ne veux pas utiliser de listes, tu peux faire des tris bulles: dim ligne() as string dim trans as string dim i as long dim j as long dim k as long ' k = list1.listcount redim ligne(k) for i = 0 to k - 1 ' décharge la liste -> variables ligne(i+1) = list1.list(i) next i ' for j = 1 to k for i = 0 to k -1 if ligne(i) > ligne(i+1) then trans = ligne(i) ligne(i) = ligne(i+1) ligne(i+1) = trans endif next i next j ' list1.clear ' remise variables -> liste for i = 1 to k ' décharge la liste -> variables list1.additem ligne(k) next i
Je n'ai rien testé (tout fait de mémoire), si ça coince, fait signe :o)
Cordialement :o) ------------------------------
"Ciginfo" a écrit dans le message de news: 432da6b6$0$5385$
Bonjour, Comment faire pour trier des dates au format JJ/MM/AA dans un ListBox de façon croissante ? Il n'y a pas de probleme avec le format numerique mais comme mes dates sont suivies d'un nom (string) la conversion s'en trouve problèmatique. merci bien
François
Ciginfo
OK bien compris, merci beaucoup
François
"X" <.> a écrit dans le message de news:
Bonsoir,
Tu as donc date + string
Soit jj/mm/aa + string
Alors tu peux prendre un seconde liste avec la propriété sorted=true, et tu fais ce qui suit: list2.clear ' liste destination triée (sorted=true) for i = 0 to list1.listcount - 1 ' liste origine list2.additem list1.list(i) next i Et ta liste 2 est classé par date...
Si tu veux un tri dans un ordre différent, tu fais une boucle inversée list3.clear ' + sortedúlse for i = list2.listcount-1 to 0 step -1 list3.additem list2.list(i) next i
Et si tu ne veux pas utiliser de listes, tu peux faire des tris bulles: dim ligne() as string dim trans as string dim i as long dim j as long dim k as long ' k = list1.listcount redim ligne(k) for i = 0 to k - 1 ' décharge la liste -> variables ligne(i+1) = list1.list(i) next i ' for j = 1 to k for i = 0 to k -1 if ligne(i) > ligne(i+1) then trans = ligne(i) ligne(i) = ligne(i+1) ligne(i+1) = trans endif next i next j ' list1.clear ' remise variables -> liste for i = 1 to k ' décharge la liste -> variables list1.additem ligne(k) next i
Je n'ai rien testé (tout fait de mémoire), si ça coince, fait signe :o)
Cordialement :o) ------------------------------
"Ciginfo" a écrit dans le message de news: 432da6b6$0$5385$
Bonjour, Comment faire pour trier des dates au format JJ/MM/AA dans un ListBox de façon croissante ? Il n'y a pas de probleme avec le format numerique mais comme mes dates sont suivies d'un nom (string) la conversion s'en trouve problèmatique. merci bien
François
OK bien compris, merci beaucoup
François
"X" <.> a écrit dans le message de news:
OdE0PzHvFHA.1168@TK2MSFTNGP10.phx.gbl...
Bonsoir,
Tu as donc
date + string
Soit
jj/mm/aa + string
Alors tu peux prendre un seconde liste avec la propriété sorted=true,
et tu fais ce qui suit:
list2.clear ' liste destination triée (sorted=true)
for i = 0 to list1.listcount - 1 ' liste origine
list2.additem list1.list(i)
next i
Et ta liste 2 est classé par date...
Si tu veux un tri dans un ordre différent, tu fais une boucle inversée
list3.clear ' + sortedúlse
for i = list2.listcount-1 to 0 step -1
list3.additem list2.list(i)
next i
Et si tu ne veux pas utiliser de listes, tu peux faire des tris bulles:
dim ligne() as string
dim trans as string
dim i as long
dim j as long
dim k as long
'
k = list1.listcount
redim ligne(k)
for i = 0 to k - 1 ' décharge la liste -> variables
ligne(i+1) = list1.list(i)
next i
'
for j = 1 to k
for i = 0 to k -1
if ligne(i) > ligne(i+1) then
trans = ligne(i)
ligne(i) = ligne(i+1)
ligne(i+1) = trans
endif
next i
next j
'
list1.clear ' remise variables -> liste
for i = 1 to k ' décharge la liste -> variables
list1.additem ligne(k)
next i
Je n'ai rien testé (tout fait de mémoire), si ça coince, fait signe :o)
Cordialement :o)
------------------------------
"Ciginfo" <Cigognes@wanadoo.fr> a écrit dans le message de news:
432da6b6$0$5385$8fcfb975@news.wanadoo.fr...
Bonjour,
Comment faire pour trier des dates au format JJ/MM/AA dans un ListBox de
façon croissante ?
Il n'y a pas de probleme avec le format numerique mais comme mes dates
sont suivies d'un nom (string) la conversion s'en trouve problèmatique.
merci bien
Alors tu peux prendre un seconde liste avec la propriété sorted=true, et tu fais ce qui suit: list2.clear ' liste destination triée (sorted=true) for i = 0 to list1.listcount - 1 ' liste origine list2.additem list1.list(i) next i Et ta liste 2 est classé par date...
Si tu veux un tri dans un ordre différent, tu fais une boucle inversée list3.clear ' + sortedúlse for i = list2.listcount-1 to 0 step -1 list3.additem list2.list(i) next i
Et si tu ne veux pas utiliser de listes, tu peux faire des tris bulles: dim ligne() as string dim trans as string dim i as long dim j as long dim k as long ' k = list1.listcount redim ligne(k) for i = 0 to k - 1 ' décharge la liste -> variables ligne(i+1) = list1.list(i) next i ' for j = 1 to k for i = 0 to k -1 if ligne(i) > ligne(i+1) then trans = ligne(i) ligne(i) = ligne(i+1) ligne(i+1) = trans endif next i next j ' list1.clear ' remise variables -> liste for i = 1 to k ' décharge la liste -> variables list1.additem ligne(k) next i
Je n'ai rien testé (tout fait de mémoire), si ça coince, fait signe :o)
Cordialement :o) ------------------------------
"Ciginfo" a écrit dans le message de news: 432da6b6$0$5385$
Bonjour, Comment faire pour trier des dates au format JJ/MM/AA dans un ListBox de façon croissante ? Il n'y a pas de probleme avec le format numerique mais comme mes dates sont suivies d'un nom (string) la conversion s'en trouve problèmatique. merci bien