Bonjour le fofo !
Je souhaite faire un formulaire pour entrer un numéro de téléphone.
Dans le cas où ma textbox contient 10 caractères je créé des espaces entre les différents numéros.
Si la textbox ne contient ni 10 ni 14 ni 0 caractères je souhaite la faire clignoter pour indiquer à l'utilisateur qu'il y a une erreur. Ce clignotement je veux qu'il se déclenche lorsque l'on quitte la textbox.
Voici le code que j'ai fait:
Le problème que j'ai c'est, qu'arrivé au "End Sub", le programme refait un tour de boucle...et clignote une fois de trop, ce que je ne souhaite pas. Auriez-vous une idée pour éviter ce tour de boucle supplémentaire?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 Private Sub TextBox3_exit(ByVal Cancel As MSForms.ReturnBoolean) Dim s, p As Variant ' Création des espaces entre nombres du numéro de téléphone If Len(TextBox3.Value) = 10 Then TextBox3.Value = Left(TextBox3.Text, 2) & " " & Mid(TextBox3.Text, 3, 2) & " " & Mid(TextBox3.Text, 5, 2) & " " & _ Mid(TextBox3.Text, 7, 2) & " " & Mid(TextBox3.Text, 9, 2) End If ' Clignotement de la textbox If Len(TextBox3.Value) <> 14 And Len(TextBox3.Value) <> 10 And Len(TextBox3.Value) <> 0 Then a = 0 While a < 3 a = a + 1 TextBox3.Visible = True p = 0.1: s = Timer: Do While Timer < s + p: DoEvents: Loop TextBox3.Visible = False p = 0.1: s = Timer: Do While Timer < s + p: DoEvents: Loop Wend TextBox3.Visible = True End If End Sub
Partager