Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Chiffres sans décimales dans textbox

9 réponses
Avatar
Vincent
Bonjour.
J'ai un textbox, je souhaite que l'utilisateur ne saisisse que des chiffres
sans décimales.
Je sais que c'est afterupdate, mais je n'arrive pas à trouver pour les
décimales.
Merci encore
Vincent

9 réponses

Avatar
isabelle
bonjour Vincent,

Private Sub TextBox1_AfterUpdate()
TextBox1 = Evaluate("TRUNC(" & TextBox1.Value & ")")
End Sub

isabelle


Bonjour.
J'ai un textbox, je souhaite que l'utilisateur ne saisisse que des chiffres
sans décimales.
Je sais que c'est afterupdate, mais je n'arrive pas à trouver pour les
décimales.
Merci encore
Vincent


Avatar
Vincent
Désolé Isabelle, la macro plante.
Impossible de définir la propriété Value, le type ne correspond pas
Vincent

"isabelle" a écrit dans le message de
news:
bonjour Vincent,

Private Sub TextBox1_AfterUpdate()
TextBox1 = Evaluate("TRUNC(" & TextBox1.Value & ")")
End Sub

isabelle


Bonjour.
J'ai un textbox, je souhaite que l'utilisateur ne saisisse que des
chiffres


sans décimales.
Je sais que c'est afterupdate, mais je n'arrive pas à trouver pour les
décimales.
Merci encore
Vincent




Avatar
isabelle
essaie en remplacant
TextBox1.Value
par
Val(TextBox1.Text)

isabelle


bonjour Vincent,

Private Sub TextBox1_AfterUpdate()
TextBox1 = Evaluate("TRUNC(" & TextBox1.Value & ")")
End Sub

isabelle


Bonjour.
J'ai un textbox, je souhaite que l'utilisateur ne saisisse que des chiffres
sans décimales.
Je sais que c'est afterupdate, mais je n'arrive pas à trouver pour les
décimales.
Merci encore
Vincent




Avatar
RaMA
Bonjour

Private Sub TextBox1_Change()
Application.EnableEvents = False
On Error Resume Next
If Not IsNumeric(TextBox1) Then TextBox1 = Null
TextBox1 = Fix(TextBox1)
Application.EnableEvents = True
End Sub

Salutations
RaMa

--
.
"Vincent" ézavu.com> a écrit dans le message de
news:%
Bonjour.
J'ai un textbox, je souhaite que l'utilisateur ne saisisse que des
chiffres

sans décimales.
Je sais que c'est afterupdate, mais je n'arrive pas à trouver pour les
décimales.
Merci encore
Vincent




Avatar
michdenis
Bonjour Vincent,

Si tu empêches la saisie d'un séparateur décimale (virgule ou point) , cela devrait solutionner ton problème !

'--------------------------
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

If KeyAscii = 44 Or KeyAscii = 46 Then
KeyAscii = 0
End If

End Sub
'--------------------------


Salutations!



"Vincent" ézavu.com> a écrit dans le message de news:%
Bonjour.
J'ai un textbox, je souhaite que l'utilisateur ne saisisse que des chiffres
sans décimales.
Je sais que c'est afterupdate, mais je n'arrive pas à trouver pour les
décimales.
Merci encore
Vincent
Avatar
michdenis
Bonjour Vincent,

Tu peux toujours passer par une variable de type "Long" , cette dernière ne retiendra pas la section décimale du nombre
affiché.


Private Sub TextBox1_Change()

Dim A As Long
A = Me.TextBox1
MsgBox A

End Sub



Salutations!



"Vincent" ézavu.com> a écrit dans le message de news:%
Bonjour.
J'ai un textbox, je souhaite que l'utilisateur ne saisisse que des chiffres
sans décimales.
Je sais que c'est afterupdate, mais je n'arrive pas à trouver pour les
décimales.
Merci encore
Vincent
Avatar
Michel Pierron
Bonsoir Vincent;
Private Sub TextBox1_Change()
Me.TextBox1 = CleanChain(Me.TextBox1)
End Sub

Private Function CleanChain(Chain As String) As String
Const Cars As String = "0123456789"
Dim L As String * 1, i As Integer
For i = 1 To Len(Chain)
L = Mid(Chain, i, 1)
If InStr(1, Cars, L) Then CleanChain = CleanChain & L
Next i
End Function

MP

"Vincent" ézavu.com> a écrit dans le message de
news:%
Bonjour.
J'ai un textbox, je souhaite que l'utilisateur ne saisisse que des
chiffres

sans décimales.
Je sais que c'est afterupdate, mais je n'arrive pas à trouver pour les
décimales.
Merci encore
Vincent




Avatar
Vincent
Merci beaucoup à tous
Je n'ai que l'embarras du choix.
Vincent

"Michel Pierron" a écrit dans le message de
news:u50LzH%
Bonsoir Vincent;
Private Sub TextBox1_Change()
Me.TextBox1 = CleanChain(Me.TextBox1)
End Sub

Private Function CleanChain(Chain As String) As String
Const Cars As String = "0123456789"
Dim L As String * 1, i As Integer
For i = 1 To Len(Chain)
L = Mid(Chain, i, 1)
If InStr(1, Cars, L) Then CleanChain = CleanChain & L
Next i
End Function

MP

"Vincent" ézavu.com> a écrit dans le message de
news:%
Bonjour.
J'ai un textbox, je souhaite que l'utilisateur ne saisisse que des
chiffres

sans décimales.
Je sais que c'est afterupdate, mais je n'arrive pas à trouver pour les
décimales.
Merci encore
Vincent








Avatar
Vincent
Merci Denis, mais pour dire si cela n'est pas un nombre...
Vincent

"michdenis" a écrit dans le message de
news:
Bonjour Vincent,

Tu peux toujours passer par une variable de type "Long" , cette dernière
ne retiendra pas la section décimale du nombre

affiché.


Private Sub TextBox1_Change()

Dim A As Long
A = Me.TextBox1
MsgBox A

End Sub



Salutations!



"Vincent" ézavu.com> a écrit dans le message de
news:%

Bonjour.
J'ai un textbox, je souhaite que l'utilisateur ne saisisse que des
chiffres

sans décimales.
Je sais que c'est afterupdate, mais je n'arrive pas à trouver pour les
décimales.
Merci encore
Vincent