T103
Messages postés177Date d'inscriptionlundi 11 août 2003StatutMembreDernière intervention21 avril 2010
-
20 août 2003 à 08:39
kuiu
Messages postés19Date d'inscriptionvendredi 24 octobre 2003StatutMembreDernière intervention 9 avril 2006
-
27 août 2005 à 13:55
sous vb
j ai une MSFlexGrid dans laquelle je rentre des chiffres dans une colone, ce que je voudrai faire c est que lorsque je rentre des chiffres je voudrai qu il soit dans l ordre croissant y a t il une fonction qui fait ca ? merci d avance
cs_DeathAngel
Messages postés117Date d'inscriptionvendredi 12 avril 2002StatutMembreDernière intervention13 avril 2007 20 août 2003 à 10:10
Argh !
Sorry, il y a un hic ^_^
Si tu fais un tri juste après la saisie d'une valeur, les valeurs vide vont se retrouver en début de liste....
Si tu saisis tes valeur directement dans le tableau (par l'interface je veux dire), ça doit fonctionner, parceque tu choisi la cellule dans laquelle tu va ecrire.
Si tu remplis tes valeurs par code, c'est là que ça plante :
supposons que tu fasses comme cela :
for i=1 to MsFlexGrid1.rows-1
MsFlexGrid1.row=i
MsFlexGrid1.text=MaValeur
next i
Lorsque l'on change de cellule (MsFlexGrid1.row=i), on déclenche le LeaveCell, qui lance le tri. Et du coup, on ne maîtrise plus les indices des lignes.
Donc, en conclusion, la solution la plus simple est de lancer le tri une fois les valeurs saisies (Il faut donc virer le code du LeaveCell). Dans mon exemple, cela donne :
for i=1 to MsFlexGrid1.rows-1
MsFlexGrid1.row=i
MsFlexGrid1.text=MaValeur
next i
MsFlexGrid1.Sort=flexSortGenericAscending
Là ça devrait être bon.
Si ça ne fonctionne pas, dis-le moi, je te filerai un code qui permet de trier une colonne en cliquant sur son en-tête (faut que je le retrouve ^_^)