OVH Cloud OVH Cloud

Format dans TextBox

5 réponses
Avatar
Excel...lent
Bonsoir la communauté,

Dans un code j'ai les commandes suivantes :

H1 = Val(TextBox6)
TextBox6 = Format(Int(H1), "0")

En fait j'aimerais que cette TextBox refuse la saisie de nombre autre que
des nombre entiers ce qu'elle ne fait pas pour l'instant. Donc Exit les
décimaux à virgule ou à point ! ! !

Merci du coup de main

Cordialement

Excel...lent

5 réponses

Avatar
Didier Novarin
Bonsoir
Avec ce code pas de pb en commentaire, tu as les codes ascii
Didier

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 48 To 57
Exit Sub
Case Else
Beep
KeyAscii = 0
End Select
End Sub

'Asc("0") = 48
'Asc("1") = 49
'...
'Asc("9") = 57


"Excel...lent" a écrit dans le message de news:
uh4R$
Bonsoir la communauté,

Dans un code j'ai les commandes suivantes :

H1 = Val(TextBox6)
TextBox6 = Format(Int(H1), "0")

En fait j'aimerais que cette TextBox refuse la saisie de nombre autre que
des nombre entiers ce qu'elle ne fait pas pour l'instant. Donc Exit les
décimaux à virgule ou à point ! ! !

Merci du coup de main

Cordialement

Excel...lent




Avatar
Clément Marcotte
Bonjour,

Attention avec Val(). Si tu as la virgule comme séparateur décimal, cela ne
vaut pas un clou. Essaie plutôt les fonctions de conversion, comme CDbl ou
Clng etc.


"Excel...lent" a écrit dans le message de news:
uh4R$
Bonsoir la communauté,

Dans un code j'ai les commandes suivantes :

H1 = Val(TextBox6)
TextBox6 = Format(Int(H1), "0")

En fait j'aimerais que cette TextBox refuse la saisie de nombre autre que
des nombre entiers ce qu'elle ne fait pas pour l'instant. Donc Exit les
décimaux à virgule ou à point ! ! !

Merci du coup de main

Cordialement

Excel...lent




Avatar
Excel...lent
Bonsoir Didier, Bonsoir Clément,

Merci du coup de main.

J'ai choisi le code fourni par Didier que j'ai adapté pour mes autres
TextBox et ça fonctionne au poil.

Clément j'espère que tu m'en voudras pas trop... lol

Cordialement.

Excel...lent
Avatar
Excel...lent
Re Bonsoir Didier,

Put... je viens juste de comprendre à quoi servait la fonction KeyAscii
.......lol, re lol

Si j'ai bien compris le principe de ton code en fait tu n'autorises
l'utilisation que des touches 0,1,2,3,4,5,6,7,8,9 du clavier.

Grâce à toi ( et un tout petit peu l'aide VBA où j'ai trouvé le code Asciii
de la touche qui m'interresse) j'ai pu varier les plaisirs en adaptant ton
code pour d'autre TextBox ou là justement je voulais que le point soit
utilisé comme séparateur et uniquement que lui ( case 46 ).

On apprend tous les jours, merçi encore à toi.

Cordialement.

Excel...lent
Avatar
Didier Novarin
Re
Si tu veux uniquement remplacer le séparateur décimal :
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)If
KeyAscii = 46 Then KeyAscii = 44End Sub

Didier

"Excel...lent" a écrit dans le message de news:

Re Bonsoir Didier,

Put... je viens juste de comprendre à quoi servait la fonction KeyAscii
.......lol, re lol

Si j'ai bien compris le principe de ton code en fait tu n'autorises
l'utilisation que des touches 0,1,2,3,4,5,6,7,8,9 du clavier.

Grâce à toi ( et un tout petit peu l'aide VBA où j'ai trouvé le code
Asciii
de la touche qui m'interresse) j'ai pu varier les plaisirs en adaptant ton
code pour d'autre TextBox ou là justement je voulais que le point soit
utilisé comme séparateur et uniquement que lui ( case 46 ).

On apprend tous les jours, merçi encore à toi.

Cordialement.

Excel...lent