OVH Cloud OVH Cloud

Empêcher caractère

7 réponses
Avatar
Denys
Bonjour =E0 tous,

Je d=E9sire emp=EAcher que dans un textbox l'utilisateur=20
puisse =E9crire un point . Autrement dit, je veux que=20
le nombre inscrit soit entier, sans d=E9cimales...

Quelqu'un a une id=E9e???

Merci =E0 tous

Denys

7 réponses

Avatar
Denys
Salut...

Laissez-faire, j'ai trouvé en faisant une petite recherche
sur Google (ce que j'aurais peut-être dû faire avant)..

Voici ce que propose Denis Michon, et ça fonctionne très
bien:

Private Sub TextBox10_KeyPress(ByVal KeyAscii As
MSForms.ReturnInteger)

If KeyAscii < 49 Or KeyAscii > 57 Then
KeyAscii = 0
End If

End Sub

Merci Denis!!!!!!!!

Denys


-----Original Message-----
Bonjour à tous,

Je désire empêcher que dans un textbox l'utilisateur
puisse écrire un point . Autrement dit, je veux que
le nombre inscrit soit entier, sans décimales...

Quelqu'un a une idée???

Merci à tous

Denys
.



Avatar
Jean-François Aubert
Salut Denys,

Sub yy()
x = 1.2
If Int(x) <> x Then MsgBox "nombre décimal"
End Sub

--
Amicalement

Jean-François Aubert
{Vaudois de la Côte Lémanique}


"Denys" a écrit dans le message de
news:0d6001c3d604$5ff28b50$
Bonjour à tous,

Je désire empêcher que dans un textbox l'utilisateur
puisse écrire un point . Autrement dit, je veux que
le nombre inscrit soit entier, sans décimales...

Quelqu'un a une idée???

Merci à tous

Denys
Avatar
Jean-François Aubert
Re salut,

ou la soluce pendant la frappe,
(extrait vite vite fait d'une de mes applications)
à adapter:

Private Sub TB1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Select Case KeyCode
Case 110 ' VIRGULE
Uf1.TB1 = Left(Uf1.TB1, Len(Uf1.TB1) - 1)
end select
end sub
--
Amicalement

Jean-François Aubert
{Vaudois de la Côte Lémanique}


"Jean-François Aubert" <à a écrit dans le message de
news:3ffd8954$
Salut Denys,

Sub yy()
x = 1.2
If Int(x) <> x Then MsgBox "nombre décimal"
End Sub

--
Amicalement

Jean-François Aubert
{Vaudois de la Côte Lémanique}


"Denys" a écrit dans le message de
news:0d6001c3d604$5ff28b50$
Bonjour à tous,

Je désire empêcher que dans un textbox l'utilisateur
puisse écrire un point . Autrement dit, je veux que
le nombre inscrit soit entier, sans décimales...

Quelqu'un a une idée???

Merci à tous

Denys




Avatar
Pascal Engelmajer
salut,

il faut écrire uneprocédure évènementielle dans le module de code de
l'userform :
Pour _KeyPress
par exemple pour une zone de texte ctrlNum de 9 chiffres

Private Sub ctrlNum_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii > 47 And KeyAscii < 58 And Len(Me.ctrlNum.Value) < 9 Then
'rien
Else
KeyAscii = 0
End If
End Sub


--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
"Denys" a écrit dans le message de news:
0d6001c3d604$5ff28b50$
Bonjour à tous,

Je désire empêcher que dans un textbox l'utilisateur
puisse écrire un point . Autrement dit, je veux que
le nombre inscrit soit entier, sans décimales...

Quelqu'un a une idée???

Merci à tous

Denys
Avatar
Denys
Bonjour Pascal,

Merci pour ta réponse. cependant, je ne peux indiquer de
chiffre 0 dans le textbox. Or, il est possible que dans le
montant le chiffre 0 s'y retrouve..

Saurais-tu pourquoi???

Merci

Denys


-----Original Message-----
salut,

il faut écrire uneprocédure évènementielle dans le module
de code de

l'userform :
Pour _KeyPress
par exemple pour une zone de texte ctrlNum de 9 chiffres

Private Sub ctrlNum_KeyPress(ByVal KeyAscii As
MSForms.ReturnInteger)

If KeyAscii > 47 And KeyAscii < 58 And Len
(Me.ctrlNum.Value) < 9 Then

'rien
Else
KeyAscii = 0
End If
End Sub


--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait
pas ou il va."

Sénèque.
http://www.ilyapa.net/excel
"Denys" a écrit dans le message
de news:

0d6001c3d604$5ff28b50$
Bonjour à tous,

Je désire empêcher que dans un textbox l'utilisateur
puisse écrire un point . Autrement dit, je veux que
le nombre inscrit soit entier, sans décimales...

Quelqu'un a une idée???

Merci à tous

Denys


.



Avatar
Denys
Merci Pascal,


J'ai trouvé... erreur de ma part...code ascii 48

Merci beaucoup

Denys



-----Original Message-----
salut,

il faut écrire uneprocédure évènementielle dans le module
de code de

l'userform :
Pour _KeyPress
par exemple pour une zone de texte ctrlNum de 9 chiffres

Private Sub ctrlNum_KeyPress(ByVal KeyAscii As
MSForms.ReturnInteger)

If KeyAscii > 47 And KeyAscii < 58 And Len
(Me.ctrlNum.Value) < 9 Then

'rien
Else
KeyAscii = 0
End If
End Sub


--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait
pas ou il va."

Sénèque.
http://www.ilyapa.net/excel
"Denys" a écrit dans le message
de news:

0d6001c3d604$5ff28b50$
Bonjour à tous,

Je désire empêcher que dans un textbox l'utilisateur
puisse écrire un point . Autrement dit, je veux que
le nombre inscrit soit entier, sans décimales...

Quelqu'un a une idée???

Merci à tous

Denys


.



Avatar
Denys
Bonjour Jean-François,

Merci beaucoup pour ta réponse...

Denys


-----Original Message-----
Re salut,

ou la soluce pendant la frappe,
(extrait vite vite fait d'une de mes applications)
à adapter:

Private Sub TB1_KeyUp(ByVal KeyCode As
MSForms.ReturnInteger, ByVal Shift As Integer)

Select Case KeyCode
Case 110 ' VIRGULE
Uf1.TB1 = Left(Uf1.TB1, Len(Uf1.TB1) -
1)

end select
end sub
--
Amicalement

Jean-François Aubert
{Vaudois de la Côte Lémanique}


"Jean-François Aubert" <à a écrit
dans le message de

news:3ffd8954$
Salut Denys,

Sub yy()
x = 1.2
If Int(x) <> x Then MsgBox "nombre décimal"
End Sub

--
Amicalement

Jean-François Aubert
{Vaudois de la Côte Lémanique}


"Denys" a écrit dans le
message de


news:0d6001c3d604$5ff28b50$
Bonjour à tous,

Je désire empêcher que dans un textbox l'utilisateur
puisse écrire un point . Autrement dit, je veux
que


le nombre inscrit soit entier, sans décimales...

Quelqu'un a une idée???

Merci à tous

Denys





.