Variable TextBox dans une Userform
Bonjour à tous !
J'ai une USF avec beaucoup de TextBox (de façon à faire un formulaire).
Lorsque l'utilisateur valide le formulaire je vais vérifier la présence de mes TextBox.Value dans une base de donnée. Dans le cas où je ne le trouve pas je souhaite faire rougir ma case TextBox pour indiquer à l'utilisateur quelle TextBox est en défaut.
Voici le code que j'ai fait pour la macro principale qui teste (je vous l'ai simplifié):
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| Public varbox As TextBox
Private Sub CommandButton1_Click()
' MISE EN FORME DES RESULTATS
Application.ScreenUpdating = False
' On filtre notre base de données pour n'avoir que les résultats recherchés
With Sheets("Données")
' Nom
If TextBox1.Value <> "" Then
If Not .Range("F:F").Find(TextBox1.Value, LookIn:=xlValues) Is Nothing Then
.Range(.Range("$A$1"), .Range("$F$60000").End(xlUp).Offset(0, 11)).AutoFilter Field:=6, Criteria1:="=" & TextBox1.Value, Operator:=xlAnd
Else
MsgBox "Il n'existe aucun contact correspondant à votre recherche !", vbOKOnly + vbInformation, "Aucun affichage possible"
varbox = TextBox1
Call alerte
Exit Sub
End If
End If
' Prénom
If TextBox2.Value <> "" Then
If Not .Range("G:G").Find(TextBox2.Value, LookIn:=xlValues) Is Nothing Then
.Range(.Range("$A$1"), .Range("$F$60000").End(xlUp).Offset(0, 11)).AutoFilter Field:=7, Criteria1:="=" & TextBox2.Value, Operator:=xlAnd
Else
MsgBox "Il n'existe aucun contact correspondant à votre recherche !", vbOKOnly + vbInformation, "Aucun affichage possible"
varbox = TextBox2
Call alerte
Exit Sub
End If
End If |
Voici la macro qui alerte l'utilisateur (elle est appelée par la macro principale):
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| Sub alerte()
With varbox
.BackColor = RGB(255, 230, 230)
p = 0.01: s = Timer: Do While Timer < s + p: DoEvents: Loop
.BackColor = RGB(255, 220, 220)
p = 0.01: s = Timer: Do While Timer < s + p: DoEvents: Loop
.BackColor = RGB(255, 210, 210)
p = 0.01: s = Timer: Do While Timer < s + p: DoEvents: Loop
.BackColor = RGB(255, 200, 200)
'...
End With |
J'ai déclaré la variable varbox as TextBox mais j'ai une erreur "Variable objet ou variable de bloc with non définie" dans ma macro principale.
Ensuite j'ai essayé de déclarer la variable varbox as Variant mais j'ai une erreur "Objet requis" dans ma macro alerte().
Je ne vois pas comment déclarer ma variable, pouvez-vous me dire comment faire svp? :roll:
ps: toutes les lignes de code que je vous ai mis se trouvent dans mon code de ma USF
Merci !