Textbox et couleur

T

thierry

Guest
Bonjour
Dans un userform, est-il possible de changer la couleur d'un textbox par rapport à ce que l'on tape dedans.
Ex: si l'on tape "t" la textbox devient bleue, "d" jaune et "c" rouge. pour tout autre entrée la textbox reste verte.
Merci à tous
 
M

myDearFriend

Guest
Bonsoir Thierry,


Un petit exemple vaut mieux qu'un long discours...


Cordialement,
Didier_mDF

myDearFriend-3.gif
 

Pièces jointes

  • PourThierry.zip
    8.9 KB · Affichages: 30
  • PourThierry.zip
    8.9 KB · Affichages: 31
  • PourThierry.zip
    8.9 KB · Affichages: 32
M

myDearFriend

Guest
Bonjour Thierry, le Forum.


Ci-joint l'exemple modifié en fonction de ta dernière question (cet exemple utilise 7 Textbox seulement, il conviendra de l'adapter à ton UserForm de 96 Textbox !) .
Il s'agit là de la façon la plus simple à comprendre et à mettre en place à mon avis.
Le principe est simple : autant de procédures KeyPress que de controles TextBox à gérer et pour chacune, une seule ligne de code :
txtCouleur KeyAscii, ActiveControl

Cette ligne de code appelle une routine de mise en forme commune pour toutes les Textbox :
Private Sub txtCouleur(ByVal K As Byte, Ctrl As Control)
Dim C As Long
Select Case Chr(K)
Case "t"
C = vbBlue
Case "d"
C = vbYellow
Case "c"
C = vbRed
Case Else
C = vbGreen
End Select
Ctrl.BackColor = C
End Sub


Cela dit, il est évident que la meilleure façon de faire (plus concise), serait de passer par un module de classe pour gérer un unique évènement Keypress commun à l'ensemble des TextBox. Mais, à mon avis, il te faudrait déjà une bonne maitrise de VBA avant de mettre en pratique ce type de méthode...


Cordialement,
Didier_mDF

myDearFriend-3.gif
 

Pièces jointes

  • PourThierry2.zip
    9.8 KB · Affichages: 27

Statistiques des forums

Discussions
312 922
Messages
2 093 644
Membres
105 775
dernier inscrit
assen