OVH Cloud OVH Cloud

gestion des nombres négatifs

6 réponses
Avatar
PJ
Bonjour,

Lors de la saisie dans un userform, je demande (dans une textbox) un nombre
(de produit). Je voudrais que l'utilisateur puisse rentrer un nombre positif
ou négatif MAIS qu'il ne puisse pas rentrer ni de nombres à virgule, ni de
texte.

Merci de vos idées

PJ

6 réponses

Avatar
Daniel
Bonjour.
Esssaie le code suivant :

Private Sub CommandButton1_Click()
If Not IsNumeric(Me.TextBox1.Value) Then
Me.TextBox1 = ""
MsgBox "Veuillez saisir un nombre entier"
Exit Sub
End If
If Int(Me.TextBox1.Value) <> CDbl(Me.TextBox1.Value) Then
Me.TextBox1 = ""
MsgBox "Veuillez saisir un nombre ENTIER"
End If
End Sub

Cordialement.
Daniel
"PJ" a écrit dans le message de news:

Bonjour,

Lors de la saisie dans un userform, je demande (dans une textbox) un
nombre
(de produit). Je voudrais que l'utilisateur puisse rentrer un nombre
positif
ou négatif MAIS qu'il ne puisse pas rentrer ni de nombres à virgule, ni de
texte.

Merci de vos idées

PJ


Avatar
PJ
Bonjour Daniel,

Et merci de ton aide mais tu as le même problème que moi:
Pour le texte, OK pas de pb, pour les virgule OK pas de pb mais si je veux
rentrer -250, je ne peux pas...
As tu une autre idée?

Voilà ce que j'avais tenté (même pb)
If Not IsNumeric(nb_new_produit) Then
nb_new_produit.Value = ""
Else
If CInt(nb_new_produit.Value) <> nb_new_produit.Value Then
MsgBox ("Merci de rentrer un nombre entier!!!")
nb_new_produit.Value = ""
End If
End If


Bonjour.
Esssaie le code suivant :

Private Sub CommandButton1_Click()
If Not IsNumeric(Me.TextBox1.Value) Then
Me.TextBox1 = ""
MsgBox "Veuillez saisir un nombre entier"
Exit Sub
End If
If Int(Me.TextBox1.Value) <> CDbl(Me.TextBox1.Value) Then
Me.TextBox1 = ""
MsgBox "Veuillez saisir un nombre ENTIER"
End If
End Sub

Cordialement.
Daniel
"PJ" a écrit dans le message de news:

Bonjour,

Lors de la saisie dans un userform, je demande (dans une textbox) un
nombre
(de produit). Je voudrais que l'utilisateur puisse rentrer un nombre
positif
ou négatif MAIS qu'il ne puisse pas rentrer ni de nombres à virgule, ni de
texte.

Merci de vos idées

PJ







Avatar
Daniel
Essaie :
If CInt(nb_new_produit.Value) <> CDbl(nb_new_produit.Value) Then
Je t'assure, ça fonctionne !
Daniel
"PJ" a écrit dans le message de news:

Bonjour Daniel,

Et merci de ton aide mais tu as le même problème que moi:
Pour le texte, OK pas de pb, pour les virgule OK pas de pb mais si je veux
rentrer -250, je ne peux pas...
As tu une autre idée?

Voilà ce que j'avais tenté (même pb)
If Not IsNumeric(nb_new_produit) Then
nb_new_produit.Value = ""
Else
If CInt(nb_new_produit.Value) <> nb_new_produit.Value Then
MsgBox ("Merci de rentrer un nombre entier!!!")
nb_new_produit.Value = ""
End If
End If


Bonjour.
Esssaie le code suivant :

Private Sub CommandButton1_Click()
If Not IsNumeric(Me.TextBox1.Value) Then
Me.TextBox1 = ""
MsgBox "Veuillez saisir un nombre entier"
Exit Sub
End If
If Int(Me.TextBox1.Value) <> CDbl(Me.TextBox1.Value) Then
Me.TextBox1 = ""
MsgBox "Veuillez saisir un nombre ENTIER"
End If
End Sub

Cordialement.
Daniel
"PJ" a écrit dans le message de news:

Bonjour,

Lors de la saisie dans un userform, je demande (dans une textbox) un
nombre
(de produit). Je voudrais que l'utilisateur puisse rentrer un nombre
positif
ou négatif MAIS qu'il ne puisse pas rentrer ni de nombres à virgule, ni
de
texte.

Merci de vos idées

PJ









Avatar
Elliac
Bonjour,

J'hésite entre positionner ce code en sortie de la zone de saisie du nombre
ou sur entrée dans la zone suivante :
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsNumeric(UserForm1.TextBox1) Then
UserForm1.TextBox1 = ""
Exit Sub
ElseIf UserForm1.TextBox1.Value <> CInt(UserForm1.TextBox1.Value) Then
UserForm1.TextBox1 = ""
End If
End Sub

Camille

"PJ" wrote:

Bonjour Daniel,

Et merci de ton aide mais tu as le même problème que moi:
Pour le texte, OK pas de pb, pour les virgule OK pas de pb mais si je veux
rentrer -250, je ne peux pas...
As tu une autre idée?

Voilà ce que j'avais tenté (même pb)
If Not IsNumeric(nb_new_produit) Then
nb_new_produit.Value = ""
Else
If CInt(nb_new_produit.Value) <> nb_new_produit.Value Then
MsgBox ("Merci de rentrer un nombre entier!!!")
nb_new_produit.Value = ""
End If
End If


Bonjour.
Esssaie le code suivant :

Private Sub CommandButton1_Click()
If Not IsNumeric(Me.TextBox1.Value) Then
Me.TextBox1 = ""
MsgBox "Veuillez saisir un nombre entier"
Exit Sub
End If
If Int(Me.TextBox1.Value) <> CDbl(Me.TextBox1.Value) Then
Me.TextBox1 = ""
MsgBox "Veuillez saisir un nombre ENTIER"
End If
End Sub

Cordialement.
Daniel
"PJ" a écrit dans le message de news:

Bonjour,

Lors de la saisie dans un userform, je demande (dans une textbox) un
nombre
(de produit). Je voudrais que l'utilisateur puisse rentrer un nombre
positif
ou négatif MAIS qu'il ne puisse pas rentrer ni de nombres à virgule, ni de
texte.

Merci de vos idées

PJ









Avatar
PJ
Daniel,

J'ai essayé dans tous les sens mais ça ne fonctionne pas, il ne veut même
pas me saisir le signe...
J'utilise une version 2003, penses tu que cela vient de là?

Merci encore de ta patience
PJ


Essaie :
If CInt(nb_new_produit.Value) <> CDbl(nb_new_produit.Value) Then
Je t'assure, ça fonctionne !
Daniel
"PJ" a écrit dans le message de news:

Bonjour Daniel,

Et merci de ton aide mais tu as le même problème que moi:
Pour le texte, OK pas de pb, pour les virgule OK pas de pb mais si je veux
rentrer -250, je ne peux pas...
As tu une autre idée?

Voilà ce que j'avais tenté (même pb)
If Not IsNumeric(nb_new_produit) Then
nb_new_produit.Value = ""
Else
If CInt(nb_new_produit.Value) <> nb_new_produit.Value Then
MsgBox ("Merci de rentrer un nombre entier!!!")
nb_new_produit.Value = ""
End If
End If


Bonjour.
Esssaie le code suivant :

Private Sub CommandButton1_Click()
If Not IsNumeric(Me.TextBox1.Value) Then
Me.TextBox1 = ""
MsgBox "Veuillez saisir un nombre entier"
Exit Sub
End If
If Int(Me.TextBox1.Value) <> CDbl(Me.TextBox1.Value) Then
Me.TextBox1 = ""
MsgBox "Veuillez saisir un nombre ENTIER"
End If
End Sub

Cordialement.
Daniel
"PJ" a écrit dans le message de news:

Bonjour,

Lors de la saisie dans un userform, je demande (dans une textbox) un
nombre
(de produit). Je voudrais que l'utilisateur puisse rentrer un nombre
positif
ou négatif MAIS qu'il ne puisse pas rentrer ni de nombres à virgule, ni
de
texte.

Merci de vos idées

PJ














Avatar
PJ
Merci Camille pour la sol car en fait le problème venait du fait que je
faisais un test à chaque changement et non en sortie...
Merci Daniel car comme tu l'avais dit, cela fonctionne. J'avais le nez trop
près de mon écran. :-)

Merci à tous les 2.
Bonne fin de journée.
PJ


Bonjour,

J'hésite entre positionner ce code en sortie de la zone de saisie du nombre
ou sur entrée dans la zone suivante :
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsNumeric(UserForm1.TextBox1) Then
UserForm1.TextBox1 = ""
Exit Sub
ElseIf UserForm1.TextBox1.Value <> CInt(UserForm1.TextBox1.Value) Then
UserForm1.TextBox1 = ""
End If
End Sub

Camille

"PJ" wrote:

Bonjour Daniel,

Et merci de ton aide mais tu as le même problème que moi:
Pour le texte, OK pas de pb, pour les virgule OK pas de pb mais si je veux
rentrer -250, je ne peux pas...
As tu une autre idée?

Voilà ce que j'avais tenté (même pb)
If Not IsNumeric(nb_new_produit) Then
nb_new_produit.Value = ""
Else
If CInt(nb_new_produit.Value) <> nb_new_produit.Value Then
MsgBox ("Merci de rentrer un nombre entier!!!")
nb_new_produit.Value = ""
End If
End If


Bonjour.
Esssaie le code suivant :

Private Sub CommandButton1_Click()
If Not IsNumeric(Me.TextBox1.Value) Then
Me.TextBox1 = ""
MsgBox "Veuillez saisir un nombre entier"
Exit Sub
End If
If Int(Me.TextBox1.Value) <> CDbl(Me.TextBox1.Value) Then
Me.TextBox1 = ""
MsgBox "Veuillez saisir un nombre ENTIER"
End If
End Sub

Cordialement.
Daniel
"PJ" a écrit dans le message de news:

Bonjour,

Lors de la saisie dans un userform, je demande (dans une textbox) un
nombre
(de produit). Je voudrais que l'utilisateur puisse rentrer un nombre
positif
ou négatif MAIS qu'il ne puisse pas rentrer ni de nombres à virgule, ni de
texte.

Merci de vos idées

PJ