Séparateur de milliers efficace!

Messages postés
576
Date d'inscription
samedi 14 octobre 2006
Statut
Membre
Dernière intervention
27 janvier 2014
- - Dernière réponse : 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.
Afficher la suite 

7 réponses

Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
215
0
Merci
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
Commenter la réponse de ucfoutu
Messages postés
576
Date d'inscription
samedi 14 octobre 2006
Statut
Membre
Dernière intervention
27 janvier 2014
2
0
Merci
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.
Commenter la réponse de js8bleu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
215
0
Merci
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
Commenter la réponse de ucfoutu
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
18
0
Merci
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 ...!
Commenter la réponse de jmfmarques
Messages postés
576
Date d'inscription
samedi 14 octobre 2006
Statut
Membre
Dernière intervention
27 janvier 2014
2
0
Merci
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.
Commenter la réponse de js8bleu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
215
0
Merci
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
Commenter la réponse de ucfoutu
Messages postés
576
Date d'inscription
samedi 14 octobre 2006
Statut
Membre
Dernière intervention
27 janvier 2014
2
0
Merci
Merci encore une fois ucfoutu pour tes conseils.

Ciao .
Commenter la réponse de js8bleu