Mettre des textbox "controle de formulaire" en variable

bonjour

j'ai plusieurs textbox sur une page et non dans un userform que je voudrai mettre sous forme de variable afin de changer leur couleur à l'aide d'une boucle mais j'ai beau chercher , je ne trouve pas de solution sur le net a part pour les textbox dans un userform.

pour remplacer ce bout de code:

Sheets("accueil").text5.BackColor = vbRed
Sheets("accueil").text5.Value = ""

Sheets("accueil").text6.BackColor = vbRed
Sheets("accueil").text6.Value = ""

Sheets("accueil").text1.BackColor = vbRed
Sheets("accueil").text1.Value = ""

Sheets("accueil").text2.BackColor = vbRed
Sheets("accueil").text2.Value = ""

Sheets("accueil").text3.BackColor = vbRed
Sheets("accueil").text3.Value = ""

Sheets("accueil").text4.BackColor = vbRed
Sheets("accueil").text4.Value = ""

merci de votre aide

Bonjour

Code a mettre dans un module

Sub Change_Color() 'attention à l'appel
  Dim i As Byte, Ct As Control
  For i = 1 To 6
    Set Ct = Me("Textbox" & i)
    Select Case Ct.Value
      Case "": Ct.BackColor = vbBlack: Ct.ForeColor = vbRed

    End Select
  Next
End Sub

bonsoir joco7915 . J'ai déjà essayé ce code mais celui ci ne fonctionne que pour les textbox d'un userform. Moi mes textbox sont sur une feuille et cette fonction ne marche pas dans ce cas.

Salut Franky,
Salut Joco,

Avec des contrôles Active X.

Private Sub txtB1_Change()
'
txtB1.BackColor = IIf(txtB1.BackColor = RGB(255, 255, 255), RGB(255, 0, 0), RGB(255, 255, 255))
txtB2.BackColor = IIf(txtB1.BackColor = RGB(255, 255, 255), RGB(255, 255, 0), RGB(0, 255, 255))
'
End Sub

Private Sub txtB2_Change()
'
txtB2.BackColor = IIf(txtB2.BackColor = RGB(255, 255, 255), RGB(255, 255, 0), RGB(255, 255, 255))
txtB1.BackColor = IIf(txtB2.BackColor = RGB(255, 255, 255), RGB(0, 255, 0), RGB(0, 0, 255))
'
End Sub
7frankycolor.xlsm (19.87 Ko)

A+

Rechercher des sujets similaires à "mettre textbox controle formulaire variable"