Séparateur de milliers efficace!

js8bleu Messages postés 576 Date d'inscription samedi 14 octobre 2006 Statut Membre Dernière intervention 27 janvier 2014 - 26 juil. 2011 à 22:53
js8bleu Messages postés 576 Date d'inscription samedi 14 octobre 2006 Statut Membre Dernière intervention 27 janvier 2014 - 27 juil. 2011 à 15:07
Bonjour,

je souhaiterai avoir des chiffres avec séparateur de millier dans un textbox. C'est-à dire que lorsque je saisi 15000000 qu'il m'affiche 15 000 000. Voici le code qui est dans l'évènement Change de mon textbox :
    txtmontantcheque.Text = Format(txtmontantcheque, "### ### ###")
    txtmontantcheque.SelStart = Len(txtmontantcheque)


Le code marche mais mon problème est que lorsque je supprime par exemple le 5 des 15 000 000, il me ramène le curseur au premier zéro alors que j'aimerai que le curseur reste là où le 5 a été supprimé.

Merci d'avance.

Cordialement.

7 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 220
27 juil. 2011 à 06:52
Bonjour,

Ce n'est pas le "séparateur des milliers" qui n'est pas "efficace", mais le fait que tu utilises Format dans l'évènement Change. A chaque formatage, le texte change donc et change se relance donc. En outre, le formatage déplace les espaces dès lors que tu ajoutes ou supprimes des chiffres. S'aventurer à calculer alors le nouveau selstart pour replacer le caret là où il était s'apparente alors à une acrobatie déraisonnable passant par de telles considérations de comparaisons "avant/après" que cette "bébelle" aurait pour résultat d'alourdir ton code et ralentir les saisies.

Si tu tiens vraiment à ce genre de gadget, il ne faut pas utiliser format, mais gérer toi-même les ajouts d'espaces en cours de saisie (ce qui représente également une acrobatie, mais moindre qu'avec Format).

Pourquoi ne pas utiliser un contrôle maskedit ?
Pourquoi, d'ailleurs, ne pas être encore plus sage et ne formater qu'en fin de saisie (comme le font tous les développeurs raisonnables) ? Dans ce dernier cas, il faut tout simplement oter tous les espaces au GotFocus et reformater avec espaces au LostFocus.
Si maintenant tu tiens à continuer dans cette voie de développement d'un gadget de saisie, fais un tour dans les sources de mon frère jumeau jmfmarques. Tu y trouveras de quoi t'inspirer

____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
0
js8bleu Messages postés 576 Date d'inscription samedi 14 octobre 2006 Statut Membre Dernière intervention 27 janvier 2014 2
27 juil. 2011 à 14:16
Bonjour ucfoutu et Merci pour tes conseils. En ce qui concerne maskedbox, il ne me convient pas parce je ne sais pas bien l'utiliser et que si je formate avec par exemple avec
### ### ###
. Si je veux saisir 10 000 il va me l'afficher 100 00.
Pour ce qui est du Gotfocus et du Lostfocus, cela ne m'arrange également pas car je souhaiterai que l'utilisateur voit en temps réel le nombre qu'il a saisi avec séparateur de milliers. Je te prie donc de bien vouloir m'aider si tu as d'autres idées qui épousent ce que je souhaiterai faire.

Merci d'avance.

Cordialement.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 220
27 juil. 2011 à 14:19
Je te prie donc de bien vouloir m'aider si tu as d'autres idées qui épousent ce que je souhaiterai faire.



Je te l'ai déjà dit ===>> Va voir comment mon frère jumeau traite alors ce genre de gadget (il a déposé une source traitant des saisies. Regarde-la donc )
____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
0
jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
27 juil. 2011 à 14:29
Va voir comment mon frère jumeau traite alors ce genre de gadget (il a déposé une source traitant des saisies. Regarde-la donc )

Hé, frérot, tu commences à m'embêter, toi (je roupillais et tu as troublé ma sieste) !
Tu aurais pu donner directement le lien, non ?

Voilà donc ce dont il s'agit
Non, mais ...!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
js8bleu Messages postés 576 Date d'inscription samedi 14 octobre 2006 Statut Membre Dernière intervention 27 janvier 2014 2
27 juil. 2011 à 14:41
désolé j'essaie de décortiquer ton code jmfmarques mais je n'y arrive pas (trop fort pour moi ). Je pensais être assez intelligent pour comprendre ton code mais rien n'y fait.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 220
27 juil. 2011 à 14:55
Alors abandonne toute idée de gadget de l'espèce ! Laisse ces bêtises-là à mon cinglé de frère jumeau
Mais tu sais quoi ? Lui, au moins, fait de l'acrobatie sans se plaindre, y compris lorsqu'il tombe de la barre fixe. Et quand il fait l'acrobate, c'est lui, l'acrobate, pas le voisin appelé à la rescousse .
Achète du caolin, mets-t-en sur les mains (gaffe au dartre, quand même) et accroche les agrès ... ou laisse tomber !

____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
0
js8bleu Messages postés 576 Date d'inscription samedi 14 octobre 2006 Statut Membre Dernière intervention 27 janvier 2014 2
27 juil. 2011 à 15:07
Merci encore une fois ucfoutu pour tes conseils.

Ciao .
0
Rejoignez-nous