Une même formule pour plusieurs Textbox

Fermé
Gustav - 6 janv. 2019 à 11:25
 Gustav - 6 janv. 2019 à 16:09
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
A voir également:

4 réponses

danielc0 Messages postés 838 Date d'inscription mardi 5 juin 2018 Statut Membre Dernière intervention 23 avril 2024 74
6 janv. 2019 à 12:08
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
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
danielc0 Messages postés 838 Date d'inscription mardi 5 juin 2018 Statut Membre Dernière intervention 23 avril 2024 74
6 janv. 2019 à 15:54
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
Merci Daniel. Sympa! Je regarde et je te tiens au courant!
0
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