Menu

Colorer textbox sélectionné [Résolu]

Messages postés
28
Date d'inscription
dimanche 30 octobre 2016
Dernière intervention
17 novembre 2018
- - Dernière réponse : f894009
Messages postés
14070
Date d'inscription
dimanche 25 novembre 2007
Dernière intervention
20 février 2019
- 15 nov. 2018 à 07:20
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

Afficher la suite 

Votre réponse

3 réponses

Messages postés
14070
Date d'inscription
dimanche 25 novembre 2007
Dernière intervention
20 février 2019
1302
0
Merci
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!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
DEVPLUS
Messages postés
28
Date d'inscription
dimanche 30 octobre 2016
Dernière intervention
17 novembre 2018
-
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
Commenter la réponse de f894009
Messages postés
14070
Date d'inscription
dimanche 25 novembre 2007
Dernière intervention
20 février 2019
1302
0
Merci
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 ??
f894009
Messages postés
14070
Date d'inscription
dimanche 25 novembre 2007
Dernière intervention
20 février 2019
1302 -
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
Commenter la réponse de f894009
Messages postés
28
Date d'inscription
dimanche 30 octobre 2016
Dernière intervention
17 novembre 2018
0
Merci
votre proposition ne me convient pas, ce que j'ai mis marche bien , je voulais simplement réduire le code,
non resolu
f894009
Messages postés
14070
Date d'inscription
dimanche 25 novembre 2007
Dernière intervention
20 février 2019
1302 -
Bonjour,
ne me convient pas, simplement réduire le code
Module de classe pour textbox, google vous trouverez.........
Commenter la réponse de DEVPLUS