Une même formule pour plusieurs Textbox

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. 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
    1. 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. 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
    2. Merci Daniel. Sympa! Je regarde et je te tiens au courant!
      0
      1. 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