Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Equivalent du mot clé "Me" d'une feuille mais pour un contrôle ?

3 réponses
Avatar
Olivier
Bonjour,

Existe t-il un mot clé générique pour traiter le contrôle en cours (comme
pour une feuille avec le contrôle me) ?

Je dois copier un code dans plusieurs contrôles, au niveau de l'évènement
LostFocus() et plutôt que de faire

Date1.Text = "" pour Date1_LostFocus()
Date2.Text = "" pour Date2_LostFocus()
Date3.Text = "" pour Date3_LostFocus()
Etc.

J'aimerais avoir un code unique
ThisControl.Text = "" pour Date1_LostFocus()
ThisControl.Text = "" pour Date2_LostFocus()
ThisControl.Text = "" pour Date3_LostFocus()

où ThisControl est le mot-clé que je recherche, s'il existe bien sûr !

Merci d'avance !

3 réponses

Avatar
François Picalausa
Bonjour/soir,

Tu peux utiliser une fonction qui effectue les traitements pour chaque
procédure:

Function txtDate_LostFocus(txtDate As TextBox)
txtDate.Text = ""
End Function.

Et dans les événements:
txtDate_LostFocus Date1
txtDate_LostFocus Date2
...

Sinon, un groupe de contrôle sera plus simple.
Pour ce faire, il donne un nom "générique" à une textebox (txtDate par
exemple).
Ensuite, tu lui affecte un Index de 0
Tu renomme les autres textbox avec le même nom; ils obtiendront
automatiquement un index.
Tes procédures (comme lostfocus) auront un argument index supplémentaire qui
permet d'identifier le textbox.
Les textbox sont alors manipulées omme des tableaux.
Par exemple:
txtDate_LostFocus(Index As Integer)
txtDate(Index).Text = ""
End Sub


"Olivier" a écrit dans le message de
news:btgpmj$1tm$
Bonjour,

Existe t-il un mot clé générique pour traiter le contrôle en cours (comme
pour une feuille avec le contrôle me) ?

Je dois copier un code dans plusieurs contrôles, au niveau de l'évènement
LostFocus() et plutôt que de faire

Date1.Text = "" pour Date1_LostFocus()
Date2.Text = "" pour Date2_LostFocus()
Date3.Text = "" pour Date3_LostFocus()
Etc.

J'aimerais avoir un code unique
ThisControl.Text = "" pour Date1_LostFocus()
ThisControl.Text = "" pour Date2_LostFocus()
ThisControl.Text = "" pour Date3_LostFocus()

où ThisControl est le mot-clé que je recherche, s'il existe bien sûr !

Merci d'avance !




Avatar
Patrice Henrio
cela est faisable avec un groupe de contrôle.
Dans ce cas on a
Private Sub Date_LostFocus(Index as integer)
Date.Text=""
End Sub
"Olivier" a écrit dans le message de
news:btgpmj$1tm$
Bonjour,

Existe t-il un mot clé générique pour traiter le contrôle en cours (comme
pour une feuille avec le contrôle me) ?

Je dois copier un code dans plusieurs contrôles, au niveau de l'évènement
LostFocus() et plutôt que de faire

Date1.Text = "" pour Date1_LostFocus()
Date2.Text = "" pour Date2_LostFocus()
Date3.Text = "" pour Date3_LostFocus()
Etc.

J'aimerais avoir un code unique
ThisControl.Text = "" pour Date1_LostFocus()
ThisControl.Text = "" pour Date2_LostFocus()
ThisControl.Text = "" pour Date3_LostFocus()

où ThisControl est le mot-clé que je recherche, s'il existe bien sûr !

Merci d'avance !




Avatar
seb-seb
créer un groupe indexé comme ca t'as un evenement qui te renvoie l'index du
controle qui genere l'evenement
et en une ligne controle(index).joker ca marche

"Olivier" a écrit dans le message de
news:btgpmj$1tm$
Bonjour,

Existe t-il un mot clé générique pour traiter le contrôle en cours (comme
pour une feuille avec le contrôle me) ?

Je dois copier un code dans plusieurs contrôles, au niveau de l'évènement
LostFocus() et plutôt que de faire

Date1.Text = "" pour Date1_LostFocus()
Date2.Text = "" pour Date2_LostFocus()
Date3.Text = "" pour Date3_LostFocus()
Etc.

J'aimerais avoir un code unique
ThisControl.Text = "" pour Date1_LostFocus()
ThisControl.Text = "" pour Date2_LostFocus()
ThisControl.Text = "" pour Date3_LostFocus()

où ThisControl est le mot-clé que je recherche, s'il existe bien sûr !

Merci d'avance !