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é):
Voici la macro qui alerte l'utilisateur (elle est appelée par la macro principale):
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
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
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
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?
ps: toutes les lignes de code que je vous ai mis se trouvent dans mon code de ma USF
Merci !
Partager