URGENT MERCI !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

T103 Messages postés 177 Date d'inscription lundi 11 août 2003 Statut Membre Dernière intervention 21 avril 2010 - 20 août 2003 à 08:39
kuiu Messages postés 19 Date d'inscription vendredi 24 octobre 2003 Statut Membre Derniè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

4 réponses

cs_DeathAngel Messages postés 117 Date d'inscription vendredi 12 avril 2002 Statut Membre Dernière intervention 13 avril 2007
20 août 2003 à 09:11
Salut,

sur l'évènement LeaveCell, tu mets ce petit bout de code :
MSFlexGrid1.Sort = flexSortGenericAscending

Et c'est bon.

@peluche
DA
0
T103 Messages postés 177 Date d'inscription lundi 11 août 2003 Statut Membre Dernière intervention 21 avril 2010
20 août 2003 à 09:38
je comprend po tres bien
quand je fai ce tu ma di he ben plus rien ne s affiche dans le tableau
0
cs_DeathAngel Messages postés 117 Date d'inscription vendredi 12 avril 2002 Statut Membre Dernière intervention 13 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 ^_^)

@peluche
DA
0
kuiu Messages postés 19 Date d'inscription vendredi 24 octobre 2003 Statut Membre Dernière intervention 9 avril 2006
27 août 2005 à 13:55
Jetez un coup d'oeil sur les messages du forum

id=542791
0
Rejoignez-nous