Bonjour,
La procédure suivante ne fait pas ce que je désire, sans que j'arrive à
savoir pourquoi :(
j'ai un TextBox dans lequel je ne veux pouvoir saisir qu'une somme, mais
avec possibilité de nombre à virgule.
j'ai écrit la procédure ci-dessous mais ça ne fonctionne pas.
si je saisie 321.15 elle remet en place 32115 GRrrrrr...... et ça....ben ça
m'énerve....
Si QQun a une idée, merci d'avance.
Private Sub Montant_du_Préavis_Non_Travaillé_KeyPress(ByVal KeyAscii As
MSForms.ReturnInteger)
If KeyAscii < 46 Or KeyAscii > 57 Then
KeyAscii = 0
Else
Montant_du_Préavis_Non_Travaillé.Value =
Val(Montant_du_Préavis_Non_Travaillé.Value)
End If
End Sub
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
denis P
Bonjour Philou,
Au lieu de contrôler caractères par caractète, si le contenu de ton textbox utilise et une valeur num, utilise On Err et CDbl, voir l'exemple qui suit...
Denis P.
Private Sub CommandButton1_Click() Dim valeur As Double On Error Resume Next valeur = CDbl(TextBox1.Text) If Err Then MsgBox "une valeur numérique SVP" TextBox1.Text = "" TextBox1.SetFocus End If On Error GoTo 0
End Sub
"Philou" a écrit dans le message de news:
Bonjour, La procédure suivante ne fait pas ce que je désire, sans que j'arrive à savoir pourquoi :( j'ai un TextBox dans lequel je ne veux pouvoir saisir qu'une somme, mais avec possibilité de nombre à virgule. j'ai écrit la procédure ci-dessous mais ça ne fonctionne pas. si je saisie 321.15 elle remet en place 32115 GRrrrrr...... et ça....ben ça
m'énerve....
Si QQun a une idée, merci d'avance.
Private Sub Montant_du_Préavis_Non_Travaillé_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) If KeyAscii < 46 Or KeyAscii > 57 Then KeyAscii = 0 Else Montant_du_Préavis_Non_Travaillé.Value > Val(Montant_du_Préavis_Non_Travaillé.Value) End If End Sub
Bonjour Philou,
Au lieu de contrôler caractères par caractète, si le contenu de ton textbox
utilise et une valeur num, utilise On Err et CDbl, voir l'exemple qui
suit...
Denis P.
Private Sub CommandButton1_Click()
Dim valeur As Double
On Error Resume Next
valeur = CDbl(TextBox1.Text)
If Err Then
MsgBox "une valeur numérique SVP"
TextBox1.Text = ""
TextBox1.SetFocus
End If
On Error GoTo 0
End Sub
"Philou" <philippe.blancon@free.fr> a écrit dans le message de
news:u0ohRqHzEHA.2788@TK2MSFTNGP15.phx.gbl...
Bonjour,
La procédure suivante ne fait pas ce que je désire, sans que j'arrive à
savoir pourquoi :(
j'ai un TextBox dans lequel je ne veux pouvoir saisir qu'une somme, mais
avec possibilité de nombre à virgule.
j'ai écrit la procédure ci-dessous mais ça ne fonctionne pas.
si je saisie 321.15 elle remet en place 32115 GRrrrrr...... et ça....ben
ça
m'énerve....
Si QQun a une idée, merci d'avance.
Private Sub Montant_du_Préavis_Non_Travaillé_KeyPress(ByVal KeyAscii As
MSForms.ReturnInteger)
If KeyAscii < 46 Or KeyAscii > 57 Then
KeyAscii = 0
Else
Montant_du_Préavis_Non_Travaillé.Value > Val(Montant_du_Préavis_Non_Travaillé.Value)
End If
End Sub
Au lieu de contrôler caractères par caractète, si le contenu de ton textbox utilise et une valeur num, utilise On Err et CDbl, voir l'exemple qui suit...
Denis P.
Private Sub CommandButton1_Click() Dim valeur As Double On Error Resume Next valeur = CDbl(TextBox1.Text) If Err Then MsgBox "une valeur numérique SVP" TextBox1.Text = "" TextBox1.SetFocus End If On Error GoTo 0
End Sub
"Philou" a écrit dans le message de news:
Bonjour, La procédure suivante ne fait pas ce que je désire, sans que j'arrive à savoir pourquoi :( j'ai un TextBox dans lequel je ne veux pouvoir saisir qu'une somme, mais avec possibilité de nombre à virgule. j'ai écrit la procédure ci-dessous mais ça ne fonctionne pas. si je saisie 321.15 elle remet en place 32115 GRrrrrr...... et ça....ben ça
m'énerve....
Si QQun a une idée, merci d'avance.
Private Sub Montant_du_Préavis_Non_Travaillé_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) If KeyAscii < 46 Or KeyAscii > 57 Then KeyAscii = 0 Else Montant_du_Préavis_Non_Travaillé.Value > Val(Montant_du_Préavis_Non_Travaillé.Value) End If End Sub
Philou
Merci pour le code et tu as raison c'est beaucoup plus simple à mettre en place. je vais exploiter ça ;)
@mic Philippe
"denis P" a écrit dans le message de news:
Bonjour Philou,
Au lieu de contrôler caractères par caractète, si le contenu de ton textbox
utilise et une valeur num, utilise On Err et CDbl, voir l'exemple qui suit...
Denis P.
Private Sub CommandButton1_Click() Dim valeur As Double On Error Resume Next valeur = CDbl(TextBox1.Text) If Err Then MsgBox "une valeur numérique SVP" TextBox1.Text = "" TextBox1.SetFocus End If On Error GoTo 0
End Sub
"Philou" a écrit dans le message de news:
Bonjour, La procédure suivante ne fait pas ce que je désire, sans que j'arrive à savoir pourquoi :( j'ai un TextBox dans lequel je ne veux pouvoir saisir qu'une somme, mais avec possibilité de nombre à virgule. j'ai écrit la procédure ci-dessous mais ça ne fonctionne pas. si je saisie 321.15 elle remet en place 32115 GRrrrrr...... et ça....ben ça
m'énerve....
Si QQun a une idée, merci d'avance.
Private Sub Montant_du_Préavis_Non_Travaillé_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) If KeyAscii < 46 Or KeyAscii > 57 Then KeyAscii = 0 Else Montant_du_Préavis_Non_Travaillé.Value > > Val(Montant_du_Préavis_Non_Travaillé.Value) End If End Sub
Merci pour le code et tu as raison c'est beaucoup plus simple à mettre en
place.
je vais exploiter ça ;)
@mic Philippe
"denis P" <dede@spam.toto.ch> a écrit dans le message de news:
uEhTzzHzEHA.3376@TK2MSFTNGP12.phx.gbl...
Bonjour Philou,
Au lieu de contrôler caractères par caractète, si le contenu de ton
textbox
utilise et une valeur num, utilise On Err et CDbl, voir l'exemple qui
suit...
Denis P.
Private Sub CommandButton1_Click()
Dim valeur As Double
On Error Resume Next
valeur = CDbl(TextBox1.Text)
If Err Then
MsgBox "une valeur numérique SVP"
TextBox1.Text = ""
TextBox1.SetFocus
End If
On Error GoTo 0
End Sub
"Philou" <philippe.blancon@free.fr> a écrit dans le message de
news:u0ohRqHzEHA.2788@TK2MSFTNGP15.phx.gbl...
Bonjour,
La procédure suivante ne fait pas ce que je désire, sans que j'arrive à
savoir pourquoi :(
j'ai un TextBox dans lequel je ne veux pouvoir saisir qu'une somme, mais
avec possibilité de nombre à virgule.
j'ai écrit la procédure ci-dessous mais ça ne fonctionne pas.
si je saisie 321.15 elle remet en place 32115 GRrrrrr...... et ça....ben
ça
m'énerve....
Si QQun a une idée, merci d'avance.
Private Sub Montant_du_Préavis_Non_Travaillé_KeyPress(ByVal KeyAscii As
MSForms.ReturnInteger)
If KeyAscii < 46 Or KeyAscii > 57 Then
KeyAscii = 0
Else
Montant_du_Préavis_Non_Travaillé.Value > > Val(Montant_du_Préavis_Non_Travaillé.Value)
End If
End Sub
Merci pour le code et tu as raison c'est beaucoup plus simple à mettre en place. je vais exploiter ça ;)
@mic Philippe
"denis P" a écrit dans le message de news:
Bonjour Philou,
Au lieu de contrôler caractères par caractète, si le contenu de ton textbox
utilise et une valeur num, utilise On Err et CDbl, voir l'exemple qui suit...
Denis P.
Private Sub CommandButton1_Click() Dim valeur As Double On Error Resume Next valeur = CDbl(TextBox1.Text) If Err Then MsgBox "une valeur numérique SVP" TextBox1.Text = "" TextBox1.SetFocus End If On Error GoTo 0
End Sub
"Philou" a écrit dans le message de news:
Bonjour, La procédure suivante ne fait pas ce que je désire, sans que j'arrive à savoir pourquoi :( j'ai un TextBox dans lequel je ne veux pouvoir saisir qu'une somme, mais avec possibilité de nombre à virgule. j'ai écrit la procédure ci-dessous mais ça ne fonctionne pas. si je saisie 321.15 elle remet en place 32115 GRrrrrr...... et ça....ben ça
m'énerve....
Si QQun a une idée, merci d'avance.
Private Sub Montant_du_Préavis_Non_Travaillé_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) If KeyAscii < 46 Or KeyAscii > 57 Then KeyAscii = 0 Else Montant_du_Préavis_Non_Travaillé.Value > > Val(Montant_du_Préavis_Non_Travaillé.Value) End If End Sub