Colorer textbox sélectionné

Résolu
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

  1. votre proposition ne me convient pas, ce que j'ai mis marche bien , je voulais simplement réduire le code,
    non resolu
    1. Bonjour,
      ne me convient pas, simplement réduire le code
      Module de classe pour textbox, google vous trouverez.........
  2. 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 ??
    1. 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
      
  3. 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!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    1. 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