Dans une TextBox, saisie uniquement numérique... - VB/VBA/VBS - Programmation
Marsh Posté le 09-06-2008 à 18:52:48
Salut
|
Marsh Posté le 09-06-2008 à 22:08:48
kiki29 a écrit : Salut
|
Salut kiki29 !
Merci pour le code, je vais essayer cela.
Par contre, je le place où ?
Dans le This Workbook, dans le code de la boîte de dialogue concernée ?
Marsh Posté le 09-06-2008 à 22:23:20
Bon, j'ai placé ton astuce au début du code de ma boîte de dialogue... et ça marche... cool.
Faut juste que je le copie 55 fois car j'ai 55 zone de saisie où il ne doit y avoir que des nombres.
Maintenant, j'ai une autre question.
Quand je saisis le nombre "25,25" et que je tabule, la donnée saisie est bien "25,25"... logique...
Quand je saisis "25,1" (ou "25" tout court) et que je tabule, la donnée saisie est "25,1" (ou "25" )... toujours logique...
Mais j'aimerais que pour le "25,1" (ou "25" ), la donnée devienne "25,10" (ou "25,00" )... que la valeur soit constamment à 2 virgules...
Un peu comme quand on formate une cellule Excel avec 2 virgules et que - quelque soit la valeur saisie - on a toujours 2 virgules...
Et - grand luxe - qu'il y est le séparateur des milliers... quand je tape "1524", j'aimerais "1 524" et non "1524"...
Marsh Posté le 09-06-2008 à 22:41:47
Salut voir avec TextBox1_AfterUpdate() ou TextBox1_Exit et Format(TextBox1.Text, "##,##0.00" )
Marsh Posté le 09-06-2008 à 23:08:02
kiki29 a écrit : Salut voir avec TextBox1_AfterUpdate() ou TextBox1_Exit et Format(TextBox1.Text, "##,##0.00" ) |
Merci, je vais essayer...
Marsh Posté le 10-06-2008 à 08:51:57
J'ai ce code :
Code :
|
Mais ça ne marche pas... j'ai le message 'Erreur de compilation : erreur de syntaxe' et la ligne "Format" se met en rouge...
Quand je passe à la ligne, il y a un nouveau message : 'Erreur de compilation - Attendu:='
Quel est le souci ???
Ma TextBox s'appelle R001...
Marsh Posté le 10-06-2008 à 09:15:34
Salut, c'est vrai je sous-entendais TextBox1.Text=Format (TextBox1.Text, "##,##0.00" )
Marsh Posté le 10-06-2008 à 09:27:54
kiki29 a écrit : Salut, c'est vrai je sous-entendais TextBox1.Text=Format (TextBox1.Text, "##,##0.00" ) |
Salut kiki29 !
Ca marche nickel...
Une dernière question !
Le code que tu m'as donné pour interdire la saisie alpha, je dois le dupliquer par autant de TextBox contenues dans ma Form ?
Il n'y a pas moyen de mettre 'Private Sub R001, R002, R003, R004..._KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)'
ou un truc du genre ? parce que j'ai 57 Textbox dans ma Form...
Marsh Posté le 10-06-2008 à 09:40:45
Si il faudrait passer par un module de classe car le VBA Excel ne possède pas comme VB6 la possibilté de créer un groupe de controles
Je crois avoir vu qqch de ce genre sur un autre forum, je le recherche pour le moment
Marsh Posté le 10-06-2008 à 11:18:17
kiki29 a écrit : Si il faudrait passer par un module de classe car le VBA Excel ne possède pas comme VB6 la possibilté de créer un groupe de controles |
Merci pour ton aide kiki29 !!!
Marsh Posté le 10-06-2008 à 11:36:05
Je n'ai pas retrouvé le post en question et ai "bricolé" qqch à améliorer
( pb de temps pour le moment )
Placer dans un module de classe que l'on baptisera par exemple clsTBox
|
Placer dans une UserForm
|
PS Evite de recopier le code dans ta réponse, cela encombre le paysage pour rien
Marsh Posté le 09-06-2008 à 17:17:25
Bonsoir à tous !
Je présente mon problème.
J'ai une boîte de dialogue avec des zones de saisie (TextBox).
Certaines zones ne doivent être que des valeurs numériques... et d'autres alphanumériques.
Je cherche le code permettant de bloquer la personne qui va saisir de saisir des éléments non numériques... (bien sûr la virgule est acceptée).