Gestion d’erreur dans les TextBox

P

pias

Guest
Rebonjour le Forum

Dans l’attente d’une réponse dans le post de dimanche <http://www.excel-downloads.com/html/French/forum/messages/1_135458_135458.htm>
Je continue mon application et je but sur un autre problème !

La gestion d’erreur dans les TextBox, ci-dessous le code.

Il fonctionne très bien mais à la condition d’introduire un nombre entier ou séparé par un point 1.2 par exemple.
Mais si quelqu’un fais une erreur et introduit du texte au même un nombre avec virgule exemple 1,2 ça provoque une erreur.

Je essayer d’ajouter ça :
If Error Then GoTo MonCodeEnCasErreur
MonCodeEnCasErreur:
MsgBox "Pas de Texte ni de nombres avec virgules"

Mais soit je ne le mets pas au bon endroit ou alors c’est pas de tous ça.
Enfin je fais le possible avec les connaissances que j’ai en VBA mais ce n’est pas facile
et heureusement qu’il a Excel-downloads au quel je dois le peut que je sais
Merci d’avance pour tout.

----------------------------------------
Private Sub bouilly_Change()
If pourcent.Value = "" Then Exit Sub
For i = 1 To Len(bouilly.Value)
Quantité = bouilly * (pourcent * 10)
Next i
End Sub
Private Sub pourcent_Change()
If bouilly.Value = "" Then Exit Sub
For i = 1 To Len(pourcent.Value)
Quantité = bouilly * (pourcent * 10)
Next i
End Sub
-------------------------------------
Pias
Amicalement

...On se lasse de tout sauf d’apprendre !..
 
H

Hervé

Guest
Bonjour

essaye ceci :

Private Sub CommandButton1_Click()
'on remplace le "." par la ","
TextBox1.Value = Application.WorksheetFunction.Substitute(TextBox1.Value, ".", ",")
'on vérifie si la valeur du textbox1 est bien du numérique
If Not IsNumeric(TextBox1.Value) Then
'si non on envoie un message
MsgBox "Merci de rentrer du numérique.", , "Attention..."
'on redonne le focus au textbox1
TextBox1.SetFocus
'on prépare le textbox1 pour la correction
TextBox1.SelStart = 0
TextBox1.SelLength = Len(Me.TextBox1)
'on sort de la macro
Exit Sub
End If
'on place en A1 la valeur du textbox1.value sour forme de chiffre et non de texte
Range("a1").Value = CSng(TextBox1.Value)
End Sub

salut
Hervé
 
P

pias

Guest
Bonsoir Hervé et le Forum

Avec une petite modification pour adapter a mon application, ta proposition ma été très utile.
Ça fonctionne parfaitement.
Je te dis un grand Merci , et comme il est tard je te souhaite une bonne nuit et passe une excellente journée demain.

Amicalement

...On se lasse de tout sauf d’apprendre !..
 

Discussions similaires

Statistiques des forums

Discussions
312 398
Messages
2 088 076
Membres
103 707
dernier inscrit
amin Saadaoui