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

Agir sur "x" texbox à l'entrée puis à la sortie

sourcier08

XLDnaute Occasionnel
Bonjour à tous,

J'aimerai que lorsque j'entre dans un Textbox, une action se réalise.
J'aimerai qu'une autre action se réalise à la sortie.

Pourriez-vous m'expliquer la démarche à suivre, sachant que j'ai 15 textbox. Je me vois mal faire 15*2 "private sub" pour par exemple changer la couleur d'écriture d'un label placé en face d'un textbox ou tout autre action :


Code:
Private Sub TextBox1_Enter()
Label1.ForeColor = RGB(0, 0, 200)
End Sub
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Label1.ForeColor = RGB(0, 0, 0)
End Sub

Private Sub TextBox2_Enter()
Label2.ForeColor = RGB(0, 0, 200)
End Sub
Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Label2.ForeColor = RGB(0, 0, 0)
End Sub

...etc 15 fois


Merci d'avance pour l'aide.
 

sourcier08

XLDnaute Occasionnel
Re : Agir sur "x" texbox à l'entrée puis à la sortie

Merci Iznogood1.

1 heure à me pencher sur le sujet et rien ne vient. Peut importe mes essais, aucun résultat.
Je sens que je vais bien galérer avec cette idée.
 

Dranreb

XLDnaute Barbatruc
Re : Agir sur "x" texbox à l'entrée puis à la sortie

Bonsoir.

En fait on peut arriver à s'en sortir sans trop de dégât et sans module de classe par une structure de ce style :
VB:
Option Explicit
Dim Ctrl As MSForms.Control
Dim WithEvents TBx As MSForms.TextBox
Dim SortirDeLà As Boolean

Private Sub UserForm_Activate()
Do: DoEvents
   If Not Me.ActiveControl Is Ctrl Then
      If Not TBx Is Nothing Then
         'Instructions à exécuter quand TBx perd le focus.
         Set TBx = Nothing: End If
      Set Ctrl = Me.ActiveControl
      If TypeOf Ctrl Is MSForms.TextBox Then
         Set TBx = Me.ActiveControl
         'Instructions à exécuter quand TBx prend le focus.
         End If: End If: Loop Until SortirDeLà
End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
SortirDeLà = True
End Sub
Sans module de classe donc puisque par ailleurs l'objet TBx supporte certains évènements…
 

Discussions similaires

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