luca62
Messages postés56Date d'inscriptiondimanche 26 décembre 2004StatutMembreDernière intervention 4 août 2005
-
29 juil. 2005 à 15:29
luca62
Messages postés56Date d'inscriptiondimanche 26 décembre 2004StatutMembreDernière intervention 4 août 2005
-
29 juil. 2005 à 15:49
j'ai une suite (6 nombres) de nombre à trier, voilà comment j'ai fait :
public i, j
dim k as integer
For i = 0 To 4
For j = i + 1 To 5
If txtResultat(i).Text > txtResultat(j).Text Then
k = txtResultat(i).Text
txtResultat(i).Text = txtResultat(j).Text
txtResultat(j).Text = k
End If
Next j
Next i
Si je prend un exemple : 1 - 15 - 41 - 3 - 5 - 21 il va me les trier comme ceci : 1 - 15 - 21 - 3 - 41 - 5
comme si les nombres à deux chiffres étaient à virgule ?
cs_toods
Messages postés26Date d'inscriptionmercredi 27 juillet 2005StatutMembreDernière intervention29 juillet 2005 29 juil. 2005 à 15:39
Pour pouvoir comparer, il faut que tu castes en entier
car si tu restes en text, il compare caractère par caractère. donc 15 avant 2
normal car il compare le 1 et le 2 (en valeur ascii bien sur) et il classe
Donc pour résoudre le pb, je te propose:
For i = 0 To 4
For j = i + 1 To 5
If CInt(txtResultat(i).Text) > CInt(txtResultat(j).Text) Then
k = txtResultat(i).Text
txtResultat(i).Text = txtResultat(j).Text
txtResultat(j).Text = k
End If
Next j
Next i