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

  1. 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
    1. 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
  2. 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
    1. 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
  3. 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
    1. 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