Colorer textbox sélectionné

Résolu
DEVPLUS Messages postés 28 Date d'inscription   Statut Membre Dernière intervention   -  
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
j'ai 43 textBox, je souhaiterai remplacer les formule ci-dessous
ex:
Private Sub TextBox2_Enter()
TextBox2.BackColor = vbYellow
End Sub


Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox2.BackColor = vbWhite

End Sub
Private Sub TextBox3_Enter()
TextBox3.BackColor = vbYellow
End Sub


Private Sub TextBox3_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox3.BackColor = vbWhite

End Sub
par une formule plus simple et qui englobe le tout comme par ex objcontrol que je n'arrive pas à résoudre

Private Sub TextBox_Enter()
for each objcontrol in U1.controls
if type of objcontrol is ms form.textbox then
objcontrol.backcolor=vbYellow

End Sub


ça ne donne rien

3 réponses

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 715
 
Bonjour,

Private Sub TextBox2_Enter()
    TextBox_Enter
End Sub

Private Sub TextBox_Enter()
    Dim objcontrol As Object
    For Each objcontrol In U1.Controls
        If TypeOf objcontrol Is msform.TextBox Then
            objcontrol.BackColor = vbYellow
        End If
    Next
End Sub

Mais toutes les textbox seront en jaune!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
0
DEVPLUS Messages postés 28 Date d'inscription   Statut Membre Dernière intervention  
 
ce n'est pas ce que je veux, il faut que textbox sélectionné soit colorer une fois désélectionner elle redevient couleur blanche
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 715
 
Bonj<gras></gras>our,

C'est bien vous qui avez ecrit ceci:
objcontrol que je n'arrive pas à résoudre
Private Sub TextBox_Enter() 
for each objcontrol in U1.controls 
if type of objcontrol is ms form.textbox then 
objcontrol.backcolor=vbYellow 

End Sub 

ça ne donne rien

et moi ceci avec le code que j'ai écrit:
Mais toutes les textbox seront en jaune!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

C'est assez simple a résoudre, vous faites ou nous vous aidons ??
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 715
 
Re,
Vous ferez pour le reste des TextBox
Private Sub TextBox2_Enter()
    Call TextBox_Enter(2, "En")
End Sub

Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    Call TextBox_Enter(2, "Ex")
End Sub

Private Sub TextBox3_Enter()
    Call TextBox_Enter(3, "En")
End Sub

Private Sub TextBox3_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    Call TextBox_Enter(3, "Ex")
End Sub

Private Sub TextBox4_Enter()
    Call TextBox_Enter(4, "En")
End Sub

Private Sub TextBox4_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    Call TextBox_Enter(4, "Ex")
End Sub

Private Sub TextBox_Enter(NTB, Ev)
    Dim objcontrol As Object
    If Ev = "En" Then
        coul = vbYellow
    ElseIf Ev = "Ex" Then
        coul = vbWhite
    End If
    Me.Controls("Textbox" & NTB).BackColor = vbYellow
    
    For Each objcontrol In Me.Controls
        If TypeOf objcontrol Is MSForms.TextBox And objcontrol.Name <> "TextBox" & NTB Then
            objcontrol.BackColor = vbWhite
        End If
    Next
End Sub
0
DEVPLUS Messages postés 28 Date d'inscription   Statut Membre Dernière intervention  
 
votre proposition ne me convient pas, ce que j'ai mis marche bien , je voulais simplement réduire le code,
non resolu
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 715
 
Bonjour,
ne me convient pas, simplement réduire le code
Module de classe pour textbox, google vous trouverez.........
0