J'aurais aimé savoir comment récupérer le nom du contrôle sur lequel on
aurait cliqué. En effet, je créé dynamiquement des contrôles dans un form
(en fonction des données d'une table), et j'affecte la même procédure par
défaut à chaque contrôle (événement On_Click). Il faut donc arriver à
"personnaliser" le code en fonction du contrôle cliqué.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Eric
"Sun Service" écrivait
Bonjour,
J'aurais aimé savoir comment récupérer le nom du contrôle sur lequel on aurait cliqué. En effet, je créé dynamiquement des contrôles dans un form (en fonction des données d'une table), et j'affecte la même procédure par défaut à chaque contrôle (événement On_Click). Il faut donc arriver à "personnaliser" le code en fonction du contrôle cliqué.
Bonjour Laurent
Dans la procédure click de ton contrôle tu peux récupérer son nom par: Me.ActiveControl.Name
A+ Eric
"Sun Service" <sun.service@wanadoo.fr> écrivait
Bonjour,
J'aurais aimé savoir comment récupérer le nom du contrôle sur
lequel on
aurait cliqué. En effet, je créé dynamiquement des contrôles dans un
form (en fonction des données d'une table), et j'affecte la même
procédure par défaut à chaque contrôle (événement On_Click). Il faut
donc arriver à "personnaliser" le code en fonction du contrôle cliqué.
Bonjour Laurent
Dans la procédure click de ton contrôle tu peux récupérer son nom par:
Me.ActiveControl.Name
J'aurais aimé savoir comment récupérer le nom du contrôle sur lequel on aurait cliqué. En effet, je créé dynamiquement des contrôles dans un form (en fonction des données d'une table), et j'affecte la même procédure par défaut à chaque contrôle (événement On_Click). Il faut donc arriver à "personnaliser" le code en fonction du contrôle cliqué.
Bonjour Laurent
Dans la procédure click de ton contrôle tu peux récupérer son nom par: Me.ActiveControl.Name
A+ Eric
EPM
Bonjour
Dim frm As Form, ctl As Control, frm_ctl As Strin Set frm = Screen.ActiveFor Set ctl = Screen.ActiveContro frm_ctl = frm.Name & "-" & ctl.Nam
Bonjour
Dim frm As Form, ctl As Control, frm_ctl As Strin
Set frm = Screen.ActiveFor
Set ctl = Screen.ActiveContro
frm_ctl = frm.Name & "-" & ctl.Nam
Dim frm As Form, ctl As Control, frm_ctl As Strin Set frm = Screen.ActiveFor Set ctl = Screen.ActiveContro frm_ctl = frm.Name & "-" & ctl.Nam
Sun Service
Ah très bien, parfait !
Merci Laurent
"Eric" a écrit dans le message de news:
"Sun Service" écrivait
Bonjour,
J'aurais aimé savoir comment récupérer le nom du contrôle sur lequel on aurait cliqué. En effet, je créé dynamiquement des contrôles dans un form (en fonction des données d'une table), et j'affecte la même procédure par défaut à chaque contrôle (événement On_Click). Il faut donc arriver à "personnaliser" le code en fonction du contrôle cliqué.
Bonjour Laurent
Dans la procédure click de ton contrôle tu peux récupérer son nom par: Me.ActiveControl.Name
A+ Eric
Ah très bien, parfait !
Merci
Laurent
"Eric" <f_framZZ@hotmail.com> a écrit dans le message de news:
XnF94ED7D3515FACfframZZhotmailcom@207.46.248.16...
"Sun Service" <sun.service@wanadoo.fr> écrivait
Bonjour,
J'aurais aimé savoir comment récupérer le nom du contrôle sur
lequel on
aurait cliqué. En effet, je créé dynamiquement des contrôles dans un
form (en fonction des données d'une table), et j'affecte la même
procédure par défaut à chaque contrôle (événement On_Click). Il faut
donc arriver à "personnaliser" le code en fonction du contrôle cliqué.
Bonjour Laurent
Dans la procédure click de ton contrôle tu peux récupérer son nom par:
Me.ActiveControl.Name
J'aurais aimé savoir comment récupérer le nom du contrôle sur lequel on aurait cliqué. En effet, je créé dynamiquement des contrôles dans un form (en fonction des données d'une table), et j'affecte la même procédure par défaut à chaque contrôle (événement On_Click). Il faut donc arriver à "personnaliser" le code en fonction du contrôle cliqué.
Bonjour Laurent
Dans la procédure click de ton contrôle tu peux récupérer son nom par: Me.ActiveControl.Name
A+ Eric
Sun Service
En fait ça ne fonctionne pas comme je voudrais, pour la bonne raison que les contôles sur lesquels je clique sont des Labels. Et les Labels ne peuvent passer en ActiveControl. Y aurait il un autre moyen ?
Merciiiiiii
Laurent
"Sun Service" a écrit dans le message de news: c8crcl$uh$
Ah très bien, parfait !
Merci Laurent
"Eric" a écrit dans le message de news:
"Sun Service" écrivait
Bonjour,
J'aurais aimé savoir comment récupérer le nom du contrôle sur lequel on aurait cliqué. En effet, je créé dynamiquement des contrôles dans un form (en fonction des données d'une table), et j'affecte la même procédure par défaut à chaque contrôle (événement On_Click). Il faut donc arriver à "personnaliser" le code en fonction du contrôle cliqué.
Bonjour Laurent
Dans la procédure click de ton contrôle tu peux récupérer son nom par: Me.ActiveControl.Name
A+ Eric
En fait ça ne fonctionne pas comme je voudrais, pour la bonne raison que les
contôles sur lesquels je clique sont des Labels. Et les Labels ne peuvent
passer en ActiveControl. Y aurait il un autre moyen ?
Merciiiiiii
Laurent
"Sun Service" <sun.service@wanadoo.fr> a écrit dans le message de news:
c8crcl$uh$1@news-reader4.wanadoo.fr...
Ah très bien, parfait !
Merci
Laurent
"Eric" <f_framZZ@hotmail.com> a écrit dans le message de news:
XnF94ED7D3515FACfframZZhotmailcom@207.46.248.16...
"Sun Service" <sun.service@wanadoo.fr> écrivait
Bonjour,
J'aurais aimé savoir comment récupérer le nom du contrôle sur
lequel on
aurait cliqué. En effet, je créé dynamiquement des contrôles dans un
form (en fonction des données d'une table), et j'affecte la même
procédure par défaut à chaque contrôle (événement On_Click). Il faut
donc arriver à "personnaliser" le code en fonction du contrôle cliqué.
Bonjour Laurent
Dans la procédure click de ton contrôle tu peux récupérer son nom par:
Me.ActiveControl.Name
En fait ça ne fonctionne pas comme je voudrais, pour la bonne raison que les contôles sur lesquels je clique sont des Labels. Et les Labels ne peuvent passer en ActiveControl. Y aurait il un autre moyen ?
Merciiiiiii
Laurent
"Sun Service" a écrit dans le message de news: c8crcl$uh$
Ah très bien, parfait !
Merci Laurent
"Eric" a écrit dans le message de news:
"Sun Service" écrivait
Bonjour,
J'aurais aimé savoir comment récupérer le nom du contrôle sur lequel on aurait cliqué. En effet, je créé dynamiquement des contrôles dans un form (en fonction des données d'une table), et j'affecte la même procédure par défaut à chaque contrôle (événement On_Click). Il faut donc arriver à "personnaliser" le code en fonction du contrôle cliqué.
Bonjour Laurent
Dans la procédure click de ton contrôle tu peux récupérer son nom par: Me.ActiveControl.Name
A+ Eric
Christophe CAMPAIN
Bonjour,
J'ai eu uneproblématique similaire il y a quelques jours et voici une solution (qui m'a été fournie) qui mérite d'être essayée :
1- Tu créé un module de classe que tu nomes ClasseEtiquette.
2- Tu colles les lignes suivantes dans ce module : '---------------------------------------------------------- Public WithEvents LabelGroup As Label Private Sub LabelGroup_Click() MsgBox LabelGroup.Name ' (Mets ta procédure) End Sub '---------------------------------------------------------- 3- Dans le code de ton formulaire tu tapes ceci : '---------------------------------------------------------- Dim LabelBoxes() As New ClasseEtiquette
Private Sub Form_Open(Cancel As Integer) Dim LabelBoxesCount As Integer Dim Ctl As Control
LabelBoxesCount = 0 For Each Ctl In Me.Controls If Ctl.ControlType = acLabel Then LabelBoxesCount = LabelBoxesCount + 1 Ctl.OnClick = "[Procédure événementielle]" ReDim Preserve LabelBoxes(1 To LabelBoxesCount) Set LabelBoxes(LabelBoxesCount).LabelGroup = Ctl End If Next Ctl End Sub '----------------------------------------------------------
Tu peux reprendre cette méthode pour d'autres types de contrôles (J'ai testé avec les contrôles image et ça marche)
Par contre dans mon cas, il m'a fallu renoncer à cette solution parcequ'elle génère (chez moi) des conflits avec les évènements MouseDown, MouseMouve, etc... C'est en cours de débogage avec Benead (celui qui m'a proposé cette solution).
J'espère que ça répondra à tes attentes, Tiens moi au courant de ce que ça donne chez toi.
@+ Kristof
"Sun Service" a écrit dans le message de news:c8cnj6$k5i$
Bonjour,
J'aurais aimé savoir comment récupérer le nom du contrôle sur lequel on
aurait cliqué. En effet, je créé dynamiquement des contrôles dans un form (en fonction des données d'une table), et j'affecte la même procédure par défaut à chaque contrôle (événement On_Click). Il faut donc arriver à "personnaliser" le code en fonction du contrôle cliqué.
Merciiiiiiii
Laurent
Bonjour,
J'ai eu uneproblématique similaire il y a quelques jours et voici une
solution (qui m'a été fournie) qui mérite d'être essayée :
1- Tu créé un module de classe que tu nomes ClasseEtiquette.
2- Tu colles les lignes suivantes dans ce module :
'----------------------------------------------------------
Public WithEvents LabelGroup As Label
Private Sub LabelGroup_Click()
MsgBox LabelGroup.Name ' (Mets ta procédure)
End Sub
'----------------------------------------------------------
3- Dans le code de ton formulaire tu tapes ceci :
'----------------------------------------------------------
Dim LabelBoxes() As New ClasseEtiquette
Private Sub Form_Open(Cancel As Integer)
Dim LabelBoxesCount As Integer
Dim Ctl As Control
LabelBoxesCount = 0
For Each Ctl In Me.Controls
If Ctl.ControlType = acLabel Then
LabelBoxesCount = LabelBoxesCount + 1
Ctl.OnClick = "[Procédure événementielle]"
ReDim Preserve LabelBoxes(1 To LabelBoxesCount)
Set LabelBoxes(LabelBoxesCount).LabelGroup = Ctl
End If
Next Ctl
End Sub
'----------------------------------------------------------
Tu peux reprendre cette méthode pour d'autres types de contrôles (J'ai testé
avec les contrôles image et ça marche)
Par contre dans mon cas, il m'a fallu renoncer à cette solution parcequ'elle
génère (chez moi) des conflits avec les évènements MouseDown, MouseMouve,
etc...
C'est en cours de débogage avec Benead (celui qui m'a proposé cette
solution).
J'espère que ça répondra à tes attentes,
Tiens moi au courant de ce que ça donne chez toi.
@+
Kristof
"Sun Service" <sun.service@wanadoo.fr> a écrit dans le message de
news:c8cnj6$k5i$1@news-reader4.wanadoo.fr...
Bonjour,
J'aurais aimé savoir comment récupérer le nom du contrôle sur lequel
on
aurait cliqué. En effet, je créé dynamiquement des contrôles dans un form
(en fonction des données d'une table), et j'affecte la même procédure par
défaut à chaque contrôle (événement On_Click). Il faut donc arriver à
"personnaliser" le code en fonction du contrôle cliqué.
J'ai eu uneproblématique similaire il y a quelques jours et voici une solution (qui m'a été fournie) qui mérite d'être essayée :
1- Tu créé un module de classe que tu nomes ClasseEtiquette.
2- Tu colles les lignes suivantes dans ce module : '---------------------------------------------------------- Public WithEvents LabelGroup As Label Private Sub LabelGroup_Click() MsgBox LabelGroup.Name ' (Mets ta procédure) End Sub '---------------------------------------------------------- 3- Dans le code de ton formulaire tu tapes ceci : '---------------------------------------------------------- Dim LabelBoxes() As New ClasseEtiquette
Private Sub Form_Open(Cancel As Integer) Dim LabelBoxesCount As Integer Dim Ctl As Control
LabelBoxesCount = 0 For Each Ctl In Me.Controls If Ctl.ControlType = acLabel Then LabelBoxesCount = LabelBoxesCount + 1 Ctl.OnClick = "[Procédure événementielle]" ReDim Preserve LabelBoxes(1 To LabelBoxesCount) Set LabelBoxes(LabelBoxesCount).LabelGroup = Ctl End If Next Ctl End Sub '----------------------------------------------------------
Tu peux reprendre cette méthode pour d'autres types de contrôles (J'ai testé avec les contrôles image et ça marche)
Par contre dans mon cas, il m'a fallu renoncer à cette solution parcequ'elle génère (chez moi) des conflits avec les évènements MouseDown, MouseMouve, etc... C'est en cours de débogage avec Benead (celui qui m'a proposé cette solution).
J'espère que ça répondra à tes attentes, Tiens moi au courant de ce que ça donne chez toi.
@+ Kristof
"Sun Service" a écrit dans le message de news:c8cnj6$k5i$
Bonjour,
J'aurais aimé savoir comment récupérer le nom du contrôle sur lequel on
aurait cliqué. En effet, je créé dynamiquement des contrôles dans un form (en fonction des données d'une table), et j'affecte la même procédure par défaut à chaque contrôle (événement On_Click). Il faut donc arriver à "personnaliser" le code en fonction du contrôle cliqué.
Merciiiiiiii
Laurent
3stone
Salut,
"EPM"
Dim frm As Form, ctl As Control, frm_ctl As String Set frm = Screen.ActiveForm Set ctl = Screen.ActiveControl frm_ctl = frm.Name & "-" & ctl.Name
Dans ce cas, il aurait suffit de faire:
debug.print Screen.ActiveControl.Name
Mais voilà, le contrôle actif n'est pas l'étiquette sur laquelle on clique, mais, la zone de texte (ou autre) où se trouve le curseur...
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------
Salut,
"EPM"
Dim frm As Form, ctl As Control, frm_ctl As String
Set frm = Screen.ActiveForm
Set ctl = Screen.ActiveControl
frm_ctl = frm.Name & "-" & ctl.Name
Dans ce cas, il aurait suffit de faire:
debug.print Screen.ActiveControl.Name
Mais voilà, le contrôle actif n'est pas l'étiquette sur laquelle on clique,
mais, la zone de texte (ou autre) où se trouve le curseur...
--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------