Test Entrée TextBox

B

Berjean

Guest
Bonjour à tous,

je veux tester l'entrée d'une textBox avec un code de ce genre

If var1 < 0 Or var1 > 160 Then
Cancel = True
MsgBox "La variable 1 doit être comprise entre 0 et 160 ,48, "Attention Erreur"
MenuLev.TDiaLevAComp.Text = ""
End If

La text Box n'accepte pas de chiffre décimal ni le test de la variable1.

il n'est pas possible d'écrire :If var1 < 0.5 Or var1 > 160.5 Then

Y-a-t-il une solution ?

Berjean
 
B

Berjean

Guest
Bonjour Pascal Bonjour à Tous,

Le problème se situe au niveau de la saisie dans le textBox.

On ne peut pas saisir de virgule avec le pavé numérique en appuyant

sur le point, comme on peut le faire dans une cellule.

Il faut utiliser la virgule du clavier. (sous le point d'interrogation).

Berjean
 
H

Hervé

Guest
Bonjour

place ce code , il transforme le point du clavier numérique en virgule

Private Sub TextBox9_Change()
TextBox9.Value = Application.WorksheetFunction.Substitute(TextBox9.Value, ".", ",")
End Sub

Salut
Hervé
 
Y

Yeahou

Guest
Bonjour à tous

pour une subtitution en temps réel, il faut utiliser change mais pour une vérification de valeur, il vaut mieux utiliser afterupdate que change.
change se déclenche à chaque entrée tandis qu'afterupdate se déclenche à la validation de la textbox ou à la sortie de la textbox qui a été modifiée.
pour une vérification aprés passage dans la textbox sans modification de la valeur, il faut utiliser exit.
ce petit code illustre le fonctionnement

Private Sub TextBox1_AfterUpdate()
MsgBox "valeur textbox par afterupdate " & TextBox1.Value
End Sub
Private Sub TextBox1_Change()
MsgBox "valeur textbox par change " & TextBox1.Value
End Sub
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
MsgBox "valeur textbox par exit " & TextBox1.Value
End Sub

il faut avoir plusieurs objets pour modifier le focus et bien voir la différence entre exit et afterupdate

Cordialement, A+
 

Discussions similaires

Statistiques des forums

Discussions
312 628
Messages
2 090 317
Membres
104 491
dernier inscrit
anthony2812