Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

changer la couleur d'un control lorsqu'il reçoit le focus

crisud

XLDnaute Nouveau
Bonjour

Depuis ce matin j'essaye un code, de façon a changer la couleur du contrôle où se trouve le curseur
mais je bloque sur le code

Code:
Option Explicit
Dim Ctrl As Control
Private Sub UserForm_Initialize()

'date

TxtDateComptable.Value = Format(Now(), "ddmmyyyy")
TxtDateSaisie.Value = Format(Now(), "ddmmyyyy")

'ActiveControl.BackColor = 100
 
For Each Ctrl In UserForm1.Controls
   If Ctrl.Name <> ActiveControl.Name Then
        Ctrl.BackColor = 100
    Else
        ActiveControl.BackColor = 200
    End If
Next Ctrl


End Sub


un petit coup de main, pour avancer

merci d'avance
 

Pièces jointes

  • V5.zip
    16.2 KB · Affichages: 30
  • V5.zip
    16.2 KB · Affichages: 34
  • V5.zip
    16.2 KB · Affichages: 35

Staple1600

XLDnaute Barbatruc
Re : changer la couleur d'un control lorsqu'il reçoit le focus

Bonjour à tous


Tu n'es pas dans la bonne procédure: Private Sub UserForm_Initialize()
Celle-ci ne s'éxécute qu'a l'affichage de l'userform

Par contre ici c'est déjà mieux mais pas encore tout à fait cela
(test OK sur un Userform contenant un TextBox nommé TextBox2)
Code:
Private Sub TextBox2_Change()
TextBox2.BackColor = RGB(100, 100, 100)
End Sub

EDITION: Voila qui est un peu mieux
(conditions de test : deux textbox sur l'userform
Code:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox2.BackColor = RGB(100, 100, 100)
End Sub
Quand tu quittes le TextBox1, en appuyant sur la touche Tab par exemple, la couleur du TextBox2 changera
PS: Les TabIndex sont à 0 pour TextBox1 et 1 pour TextBox2
(voir dans les propriétés des Textbox)
 
Dernière édition:

xhudi69

XLDnaute Accro
Re : changer la couleur d'un control lorsqu'il reçoit le focus

Bonjour crisud, le Forum,
Bonjour Staple1600

Je dirais même plus, en jouant avec les évennements:
Code:
Private Sub TextBox2_Enter()
TextBox2.BackColor = RGB(255, 0, 0)
End Sub

Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox2.BackColor = RGB(100, 100, 100)
End Sub

@+
 

Staple1600

XLDnaute Barbatruc
Re : changer la couleur d'un control lorsqu'il reçoit le focus

Bonjour xhudi69

C'est ce que je viens d'ajouter dans mon édition du message précédent
(avec quelques nuances malgré tout )
(BAM! nous étions dans la même minute)
 
Dernière édition:

xhudi69

XLDnaute Accro
Re : changer la couleur d'un control lorsqu'il reçoit le focus

bonjour crisud, le Forum,

Hé oui Staple1600 ça c'est de la synchro

En PJ pour crisud le fichier avec mon exemple sur les différents évennements d'un TextBox à adapter selon l'humeur

@+
 

Pièces jointes

  • V5.xlsm
    24.6 KB · Affichages: 47

laetitia90

XLDnaute Barbatruc
Re : changer la couleur d'un control lorsqu'il reçoit le focus

bonjour crisud ,xhudi69, Jean Marie

il y a quelque temps j'avais bosse sur une soluc ....dans une classe pour s'affranchir de GetFocus & LostFocus... pb.. de scintillements

une soluc accepable sans exit & enter pas present dans une classe helas
 

Pièces jointes

  • classmousse2.xls
    62 KB · Affichages: 54
  • classmousse2.xls
    62 KB · Affichages: 45
  • classmousse2.xls
    62 KB · Affichages: 44

crisud

XLDnaute Nouveau
Re : changer la couleur d'un control lorsqu'il reçoit le focus

Bonsoir Laetitia90,,xhudi69, Jean Marie

çà c'est du travail collectif..... merci à toutes et tous pour votre retour.
grâce à votre aide, je peux à présent finir mon code.

Les solution se Xhudi69 et Jean Marie fonctionnent parfaitement
mais ce serait trop facile..... Laetitia90 a vu juste.... j'ai 120 contrôles, l'intuition féminine


Bon fin de week end à vous tous

Salutations
Christian
 
Dernière édition:

crisud

XLDnaute Nouveau
Re : changer la couleur d'un control lorsqu'il reçoit le focus

Si je peux me permettre d'abuser ?

j'ai tenté d'adapté le code de Laetitia90 à ma Userform qui comporte centaine de textbox et combobox
Mais je m'en sort pas
 

Pièces jointes

  • classmousse2-1.zip
    21.1 KB · Affichages: 27

laetitia90

XLDnaute Barbatruc
Re : changer la couleur d'un control lorsqu'il reçoit le focus

re tous

j'ai regarde ton fichier
j'ai pas pris en compte les textboxs TextSens & TextLibCompte vu que le Back style est transparent pas utile je pense

autrement pour simplifier j'utilise la propriéte tag donc "a" pour les textboxs & "b" pour les combos

dans l'iniatisation un code pour les controls renomées vu que 4 chronologie <>...... plus simple si rajout autres controls par la suite

on aurait pu faire qu'une seule classe avec combos & textboxs mais revoir la conception a l'origine pas envie de bosser modif user

apres il faut voir comment tu renseigne cela..... ordre de tabulations ect...

dans mon code j'ai pas mis touche direction gauche & droite
leur keycode c'est
K=37 droite
K=39 gauche

seulement enter, tab, haut, bas , c'est tout rajoute si utilisation

Code:
If K = 13 Or K = 9 Or K = 40 Or K = 38 Then txt.BackColor = &HFFC0C0
 

Pièces jointes

  • Copie de classmousse2-1.xls
    100 KB · Affichages: 57

crisud

XLDnaute Nouveau
Re : changer la couleur d'un control lorsqu'il reçoit le focus

Bonjour laetitia90

C'est parfait comme çà avec 2 classes, je n'arrivais pas a résoudre seul à partir de ton premier code.
Merci beaucoup

Bonne journée
Christian
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…