Colorear el textbox seleccionado

Resuelto
DEVPLUS Mensajes publicados 30 Estado Miembro -  
f894009 Mensajes publicados 17417 Fecha de registro   Estado Miembro Última intervención   -
Bonjour,
j'ai 43 textBox, je souhaiterais remplacer les formules 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

Configuration: Windows / Chrome 69.0.3497.100

3 respuestas

f894009 Mensajes publicados 17417 Fecha de registro   Estado Miembro Última intervención   1 717
 
Hola,

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

Pero todas las textbox estarán en amarillo!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
0
DEVPLUS Mensajes publicados 30 Estado Miembro
 
No es lo que quiero, hay que hacer que el textbox seleccionado se coloree; una vez deseleccionado vuelva a quedar en color blanco.
0
f894009 Mensajes publicados 17417 Fecha de registro   Estado Miembro Última intervención   1 717
 
Hola, ¿escribeis esto: 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 ?? Traducción al español: Hola, eres quien escribió esto: 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 Mensajes publicados 17417 Fecha de registro   Estado Miembro Última intervención   1 717
 
Hola,
Harás para el resto de 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 Mensajes publicados 30 Estado Miembro
 
tu propuesta no me conviene, lo que puse funciona bien, solo quería reducir el código,
no resuelto
0
f894009 Mensajes publicados 17417 Fecha de registro   Estado Miembro Última intervención   1 717
 
Bonjour,
no me conviene, simplemente reduce el código
Módulo de clase para textbox, google lo encontrarás.........
0