Transmettre un paramètre supplémentaire à une procédure évènemen ti
3 réponses
Jacques
Bonjour
Je simule un clic sur un bouton d'une toolbar avec le code ci-dessous (i
étant l'index du bouton).
Call Toolbar1_ButtonClick(Me.Toolbar1.Buttons.Item(i))
Je voudrais transmettre aussi à la procédure le contenu d'une variable, par
exemple strNom.
Si je fais
Call Toolbar1_ButtonClick(Me.Toolbar1.Buttons.Item(i), strNom), avec
optional ou non, ça coince.
Comment passer cette variable à la procédure?Pour l'instant, la variable est
déclarée niveau module et elle est accessible depuis la procédure, mais je
voudrais éviter...
Merci.
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
Guy DETIENNE
Salut ;O)
Tu ne peux pas faire de la sorte. Les appels de fonction et ou méthode d'un objet (ActiveX,...) sont figés. Tu ne peux donc y intégrer tes propres paramètères.
Pour arriver à faire cela, utilise simplement une variable global à ton formulaire ou ton module ou au projet entier.
Guy
"Jacques" a écrit dans le message de news:
Bonjour Je simule un clic sur un bouton d'une toolbar avec le code ci-dessous (i étant l'index du bouton). Call Toolbar1_ButtonClick(Me.Toolbar1.Buttons.Item(i)) Je voudrais transmettre aussi à la procédure le contenu d'une variable,
par
exemple strNom. Si je fais Call Toolbar1_ButtonClick(Me.Toolbar1.Buttons.Item(i), strNom), avec optional ou non, ça coince. Comment passer cette variable à la procédure?Pour l'instant, la variable
est
déclarée niveau module et elle est accessible depuis la procédure, mais je voudrais éviter... Merci.
Salut ;O)
Tu ne peux pas faire de la sorte. Les appels de fonction et ou méthode d'un
objet (ActiveX,...) sont figés.
Tu ne peux donc y intégrer tes propres paramètères.
Pour arriver à faire cela, utilise simplement une variable global à ton
formulaire ou ton module ou au projet entier.
Guy
"Jacques" <Jacques@discussions.microsoft.com> a écrit dans le message de
news:0E61F22D-D775-4819-AA3C-954035194E5B@microsoft.com...
Bonjour
Je simule un clic sur un bouton d'une toolbar avec le code ci-dessous (i
étant l'index du bouton).
Call Toolbar1_ButtonClick(Me.Toolbar1.Buttons.Item(i))
Je voudrais transmettre aussi à la procédure le contenu d'une variable,
par
exemple strNom.
Si je fais
Call Toolbar1_ButtonClick(Me.Toolbar1.Buttons.Item(i), strNom), avec
optional ou non, ça coince.
Comment passer cette variable à la procédure?Pour l'instant, la variable
est
déclarée niveau module et elle est accessible depuis la procédure, mais je
voudrais éviter...
Merci.
Tu ne peux pas faire de la sorte. Les appels de fonction et ou méthode d'un objet (ActiveX,...) sont figés. Tu ne peux donc y intégrer tes propres paramètères.
Pour arriver à faire cela, utilise simplement une variable global à ton formulaire ou ton module ou au projet entier.
Guy
"Jacques" a écrit dans le message de news:
Bonjour Je simule un clic sur un bouton d'une toolbar avec le code ci-dessous (i étant l'index du bouton). Call Toolbar1_ButtonClick(Me.Toolbar1.Buttons.Item(i)) Je voudrais transmettre aussi à la procédure le contenu d'une variable,
par
exemple strNom. Si je fais Call Toolbar1_ButtonClick(Me.Toolbar1.Buttons.Item(i), strNom), avec optional ou non, ça coince. Comment passer cette variable à la procédure?Pour l'instant, la variable
est
déclarée niveau module et elle est accessible depuis la procédure, mais je voudrais éviter... Merci.
david
salut,
comme l'a dit Guy, on ne peux pas changer le prototype d'une fonction lors de son utilisation.
Pour cela, tu peux utiliser une variable globale (attention au effets de bords), ou créer 2 procédures : private sub Tb_Bt_Click(index as integer) myTb_Bt_Click Index end sub private sub myTb_Bt_Click(index as integer, optional byval Txt as string) ... 'traitement du clic end sub
Dans ce cas, pour simuler un clic, il faut appeler la 2° proc (avec 1 ou 2 paramètres).
A+, david
salut,
comme l'a dit Guy, on ne peux pas changer le prototype d'une fonction
lors de son utilisation.
Pour cela, tu peux utiliser une variable globale (attention au effets
de bords), ou créer 2 procédures :
private sub Tb_Bt_Click(index as integer)
myTb_Bt_Click Index
end sub
private sub myTb_Bt_Click(index as integer, optional byval Txt as
string)
... 'traitement du clic
end sub
Dans ce cas, pour simuler un clic, il faut appeler la 2° proc (avec 1
ou 2 paramètres).
comme l'a dit Guy, on ne peux pas changer le prototype d'une fonction lors de son utilisation.
Pour cela, tu peux utiliser une variable globale (attention au effets de bords), ou créer 2 procédures : private sub Tb_Bt_Click(index as integer) myTb_Bt_Click Index end sub private sub myTb_Bt_Click(index as integer, optional byval Txt as string) ... 'traitement du clic end sub
Dans ce cas, pour simuler un clic, il faut appeler la 2° proc (avec 1 ou 2 paramètres).
A+, david
Jacques
Merci. C'est bien ce que je craignais (;-
"Guy DETIENNE" a écrit :
Salut ;O)
Tu ne peux pas faire de la sorte. Les appels de fonction et ou méthode d'un objet (ActiveX,...) sont figés. Tu ne peux donc y intégrer tes propres paramètères.
Pour arriver à faire cela, utilise simplement une variable global à ton formulaire ou ton module ou au projet entier.
Guy
"Jacques" a écrit dans le message de news: > Bonjour > Je simule un clic sur un bouton d'une toolbar avec le code ci-dessous (i > étant l'index du bouton). > Call Toolbar1_ButtonClick(Me.Toolbar1.Buttons.Item(i)) > Je voudrais transmettre aussi à la procédure le contenu d'une variable, par > exemple strNom. > Si je fais > Call Toolbar1_ButtonClick(Me.Toolbar1.Buttons.Item(i), strNom), avec > optional ou non, ça coince. > Comment passer cette variable à la procédure?Pour l'instant, la variable est > déclarée niveau module et elle est accessible depuis la procédure, mais je > voudrais éviter... > Merci.
Merci.
C'est bien ce que je craignais (;-
"Guy DETIENNE" a écrit :
Salut ;O)
Tu ne peux pas faire de la sorte. Les appels de fonction et ou méthode d'un
objet (ActiveX,...) sont figés.
Tu ne peux donc y intégrer tes propres paramètères.
Pour arriver à faire cela, utilise simplement une variable global à ton
formulaire ou ton module ou au projet entier.
Guy
"Jacques" <Jacques@discussions.microsoft.com> a écrit dans le message de
news:0E61F22D-D775-4819-AA3C-954035194E5B@microsoft.com...
> Bonjour
> Je simule un clic sur un bouton d'une toolbar avec le code ci-dessous (i
> étant l'index du bouton).
> Call Toolbar1_ButtonClick(Me.Toolbar1.Buttons.Item(i))
> Je voudrais transmettre aussi à la procédure le contenu d'une variable,
par
> exemple strNom.
> Si je fais
> Call Toolbar1_ButtonClick(Me.Toolbar1.Buttons.Item(i), strNom), avec
> optional ou non, ça coince.
> Comment passer cette variable à la procédure?Pour l'instant, la variable
est
> déclarée niveau module et elle est accessible depuis la procédure, mais je
> voudrais éviter...
> Merci.
Tu ne peux pas faire de la sorte. Les appels de fonction et ou méthode d'un objet (ActiveX,...) sont figés. Tu ne peux donc y intégrer tes propres paramètères.
Pour arriver à faire cela, utilise simplement une variable global à ton formulaire ou ton module ou au projet entier.
Guy
"Jacques" a écrit dans le message de news: > Bonjour > Je simule un clic sur un bouton d'une toolbar avec le code ci-dessous (i > étant l'index du bouton). > Call Toolbar1_ButtonClick(Me.Toolbar1.Buttons.Item(i)) > Je voudrais transmettre aussi à la procédure le contenu d'une variable, par > exemple strNom. > Si je fais > Call Toolbar1_ButtonClick(Me.Toolbar1.Buttons.Item(i), strNom), avec > optional ou non, ça coince. > Comment passer cette variable à la procédure?Pour l'instant, la variable est > déclarée niveau module et elle est accessible depuis la procédure, mais je > voudrais éviter... > Merci.