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

  • Initiateur de la discussion Initiateur de la discussion crisud
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
    V5.zip
    16.2 KB · Affichages: 30
  • V5.zip
    V5.zip
    16.2 KB · Affichages: 34
  • V5.zip
    V5.zip
    16.2 KB · Affichages: 35
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:
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

@+ 😎
 
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:
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

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

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:
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

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

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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

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