Utilisateur anonyme
-
19 sept. 2006 à 19:07
Dolphin Boy
Messages postés630Date d'inscriptionvendredi 5 mai 2006StatutMembreDernière intervention17 février 2007
-
19 sept. 2006 à 21:35
Re la communauté,
Voilou j'ai un textbox qui va contenir une saisie utilisateur, celui-ci doit saisir un nombre entre 1 et 100, si c'est pas bon: msgbox("erreur"), or je ne sais pas comment gerer ceci pour qu'il recommence, en effet, avec un:
while textbox.text < 1 or textbox.text > 100
msgbox("erreur recommencer")
wend
je suis en boucle infini car ma declaration du sub est: Private Sub TextBox1_Change() ! donc si il tape 0 ca foire, et la boiboite n'attend pas que l'on retape quelque chose pour mettre les msgbox a l'infini!
-- Comment faire pour gerer cette erreur et permettre à l'utilisateur de resaisir sa réponse correctement...? j'ai aussi tester avec un sub textbox_update()
Dolphin Boy
Messages postés630Date d'inscriptionvendredi 5 mai 2006StatutMembreDernière intervention17 février 2007 19 sept. 2006 à 19:43
Salut, c'est pas du VB6 ça, plutôt du VBA non ?
En VB, essaie ça :
Private Sub Text1_KeyPress(KeyAscii As Integer)
'permettre uniquement la saisie de chiffres et des touches flèches, backspace, suppr,....
If KeyAscii > 31 And KeyAscii < 48 Or KeyAscii > 57 Then
KeyAscii = 0
Exit Sub
End If
End Sub
Private Sub Text1_Validate(Cancel As Boolean)
If CInt(Text1.Text) = 0 Or CInt(Text1.Text) > 100 Then
MsgBox "Saisissez un nombre de 1 à 100 S.V.P. !"
Cancel = True
End If
End Sub
En VBA :
Private Sub TextBox1_KeyPress(KeyAscii As Integer)
'permettre uniquement la saisie de chiffres et des touches flèches, backspace, suppr,....
If KeyAscii > 31 And KeyAscii < 48 Or KeyAscii > 57 Then
KeyAscii = 0
Exit Sub
End If
End Sub
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If CInt(TextBox1.Text) = 0 Or CInt(TextBox1.Text) > 100 Then
MsgBox "Saisissez un nombre de 1 à 100 S.V.P. !"
Cancel = True
End If
End Sub
Oui c'est du VBA autant pour moi, l'ahbitude de poster pour du VB désolé ^^
Mais je ne vois pas de différence entre VB et VBA en fait ???!!!
Merci pour ton code, je l'essai demain et je te dirais ce qu'il en retourne
Dolphin Boy
Messages postés630Date d'inscriptionvendredi 5 mai 2006StatutMembreDernière intervention17 février 2007 19 sept. 2006 à 21:35
Bah, pour ce qui est de la base, les 2 sont du basic mais il y a plein de différences au niveau d'abord des noms de controles par défaut (Text1 en VB6 TextBox1 en VBA, ...), des noms d'évènements (Validate en VB6, BeforUpdate en VBA, ...), de nombreuses fonctions de VB6 inexistantes en VBA, etc ... Sans parler quon peut faire un EXE avec VB mais pas avec VBA.
En fait, tout dépend de ce qu'on veut faire et choisir le langage en fonction de ça.