VBA Excel - Textbox fonction évenementielle

Fermé
David - 19 mai 2008 à 15:07
 David - 20 mai 2008 à 08:31
Bonjour,

J’ai 2 userform contenant chacune une textbox et un bouton.

Quand la userform1 est ouverte :

1. je peux écrire 4 caractères dans la textbox, pour ouvrir la userform2 et fermer la
userform1 (mode automatique)
2. Ou appuyer sur le bouton suivant qui ouvrira la userform2 et fermera la userform1 (mode manuel)

Userform1
Sub suivant_Click()
Unload UserForm1
UserForm2.Show
End Sub


Private Sub text_change()
If Len(Text.Value) >= 4 Then
Unload UserForm1
UserForm2.Show
End If
End Sub


Userform2
Dans la textbox de la userform2 je ne peux écrire que des chiffres, si j’écris une lettre la textbox se vide.

Sub textbox1_change()
If Not IsNumeric(TextBox1.Value) Then
TextBox1.Value = ""
End If
End Sub


Mon problème :
En mode manuel aucun problème. En mode automatique, rien ne se passe quand j’écris des chiffres dans la textbox de la userform2.

Ca fait 4 jours que je tente d'essaier plein de fonction différente. J'ai l'impression que la fonction _change ne s'arrête pas et empêche la userform 2 d'utiliser cette fonction

Une idée pour m’aider ?


Merci d'avance


David
A voir également:

1 réponse

Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
19 mai 2008 à 15:39
bonjour,

Mais ta fonction ne fait rien ... elle ne fait que vider le textbox si ce n'est pas numérique et rien d'autre.

;o)

polux
0
Bonjour Pollux,

Justement c'est ça qui ne fonctionne pas.

Dans ma Userform1, je rentre une valeur, dés que cette valeur à 4 chiffres, la userform2 s'ouvre. Maintenant j'essaie de rentrer une valeur dans ma textbox et je peux rentrer des lettres alors que je ne peux en théorie entrer que des chiffres.

Par contre si dans ma userform1 j'appuie sur le bouton, je peux dans la userform2 entrer que des chiffres si je rentre une lettre la textbox se vide.

Ce petit programme est tiré d'une macro bien plus complexe, ou j'ai ce problème.
0