Une même formule pour plusieurs Textbox

Gustav -  
 Gustav -
Bonjour et bonne année à tous et merci pour votre aide.
Voilà ma question :
J'ai une formule pour colorer les polices :
Private Sub TextBox1_Change()
If TextBox1.Value = 0 Then
Me.Textbox1.ForeColor = vbWhite
Else
End If
End Sub
Je voudrais que cette formule s'applique à 10 TextBox.
Je ne me vois pas la recopier 10 fois.
Il y a t-il un moyen pour regrouper les 10 TextBox dans une même formule couleur.
Un grand merci à vous
Bonne journée
Gustav

4 réponses

  1. danielc0 Messages postés 2191 Date d'inscription   Statut Membre Dernière intervention   287
     
    Bonjour,

    Est-ce que tes textboxes sont sur un userform ? Est-ce que tu as d'autres textboxes pour lesquels tu ne souhaites pas que la couleur change ? Dans ce cas, il me faut le noms des textboxes concernés.

    Cordialement.

    Daniel
    0
  2. Gustav
     
    Merci pour ta réponse rapide.
    Oui, tous les textBox sont sur le même UserForm6.
    Ils sont tout simplement numérotés de 1 à 10 : TextBox1, TextBox2, etc... et sont tous concernés par la même formule, à savoir :
    Private Sub TextBox1_Change()
    If TextBox1.Value = 0 Then
    Me.Textbox1.ForeColor = vbWhite
    Else
    End If
    End Sub
    Je te remercie pour ta précieuse aide
    Gustav
    0
    1. danielc0 Messages postés 2191 Date d'inscription   Statut Membre Dernière intervention   287
       
      A l'initialisation du userform, mets ce code :

      Dim GrTB() As New MesTextboxes
      Private Sub UserForm_Activate()
      Dim C As Control, i As Integer
      For Each C In Me.Controls
          If Left(C.Name, 7) = "TextBox" Then
              ReDim Preserve GrTB(i)
              Set GrTB(i).tbx = C
              i = i + 1
          End If
      Next
      End Sub


      Ajoute un module de classe et renomme-le "MesTextboxes". Dans ce module, mets :

      Public WithEvents tbx As MSForms.TextBox
      Private Sub tbx_change()
          If tbx.Value = "0" Then tbx.ForeColor = vbWhite
      End Sub
      


      Si tu rencontres des difficultés, dis-le.

      Daniel
      0
  3. Gustav
     
    Merci Daniel. Sympa! Je regarde et je te tiens au courant!
    0
  4. Gustav
     
    Je viens d'essayer tes deux formules comme tu l'as bien décrit.
    Mais désolé ça ne marche pas!
    Le but est, comme expliqué plus haut, si dans un textbox j'ai la valeur 0, cette dernière ne s'affiche pas (elle est en fait de couleur blanche).
    Au dessus de cette valeur 0, elle devient noire.
    Ceci appliqué à 10 TextBox
    Merci encore de te filer du travail un dimanche!
    Gustav
    0