Déclencher une Private Sub XX_Click à partir d'un autre userform
2 réponses
ManBas
Re-bonjour,
Mes objectifs se précisent aprés le fil précédent.
A partir d'un userform1.textbox1_change, je voudrais lancer une Private Sub
XX_click dont le controle se trouve dans un userform2.
Anonymous m'a suggéré CallByName.
J'ai trouvé ceci:
http://frederic.sigonneau.free.fr/code/VBE/DeclencherClickBouton.txt
J'ai transformé la Private en Public: le code est parcouru et ça marche.
Mais je risque d'en avoir beaucoup (à la fin) des public sub!
Ensuite j'ai écris cela mais ça ne marche pas:
Dim ProcName As String
ProcName = userform2.XX & "_Click"
CallByName Worksheets("feuill1"), ProcName, VbMethod
Pouvez-vous m'aider à appeler le code en conservant la caractéristique
Private?
Merci infiniment d'avance.
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
Michel Pierron
Bonsoir ManBas; Dans VBA, toutes les procédures qui ne sont pas déclarées Private sont considérés Public. Donc par exemple dans ton module UserForm2, enlève Private et ça marchera: (Tu peux aussi indiquer directement la constante VbMethod qui vaut 1). Sub CommandButton1_Click() MsgBox "Hello word !", 64 End Sub
Et dans le module UserForm1: Private Sub TextBox1_Change() CallByName UserForm2, "CommandButton1_Click", 1 End Sub
MP
"ManBas" a écrit dans le message de news:
Re-bonjour, Mes objectifs se précisent aprés le fil précédent. A partir d'un userform1.textbox1_change, je voudrais lancer une Private Sub
XX_click dont le controle se trouve dans un userform2. Anonymous m'a suggéré CallByName. J'ai trouvé ceci: http://frederic.sigonneau.free.fr/code/VBE/DeclencherClickBouton.txt J'ai transformé la Private en Public: le code est parcouru et ça marche. Mais je risque d'en avoir beaucoup (à la fin) des public sub! Ensuite j'ai écris cela mais ça ne marche pas: Dim ProcName As String ProcName = userform2.XX & "_Click" CallByName Worksheets("feuill1"), ProcName, VbMethod Pouvez-vous m'aider à appeler le code en conservant la caractéristique Private? Merci infiniment d'avance.
Bonsoir ManBas;
Dans VBA, toutes les procédures qui ne sont pas déclarées Private sont
considérés Public.
Donc par exemple dans ton module UserForm2, enlève Private et ça marchera:
(Tu peux aussi indiquer directement la constante VbMethod qui vaut 1).
Sub CommandButton1_Click()
MsgBox "Hello word !", 64
End Sub
Et dans le module UserForm1:
Private Sub TextBox1_Change()
CallByName UserForm2, "CommandButton1_Click", 1
End Sub
MP
"ManBas" <nospam-manbas@wanadoo.fr> a écrit dans le message de news:
ukKjU2yUFHA.1152@tk2msftngp13.phx.gbl...
Re-bonjour,
Mes objectifs se précisent aprés le fil précédent.
A partir d'un userform1.textbox1_change, je voudrais lancer une Private
Sub
XX_click dont le controle se trouve dans un userform2.
Anonymous m'a suggéré CallByName.
J'ai trouvé ceci:
http://frederic.sigonneau.free.fr/code/VBE/DeclencherClickBouton.txt
J'ai transformé la Private en Public: le code est parcouru et ça marche.
Mais je risque d'en avoir beaucoup (à la fin) des public sub!
Ensuite j'ai écris cela mais ça ne marche pas:
Dim ProcName As String
ProcName = userform2.XX & "_Click"
CallByName Worksheets("feuill1"), ProcName, VbMethod
Pouvez-vous m'aider à appeler le code en conservant la caractéristique
Private?
Merci infiniment d'avance.
Bonsoir ManBas; Dans VBA, toutes les procédures qui ne sont pas déclarées Private sont considérés Public. Donc par exemple dans ton module UserForm2, enlève Private et ça marchera: (Tu peux aussi indiquer directement la constante VbMethod qui vaut 1). Sub CommandButton1_Click() MsgBox "Hello word !", 64 End Sub
Et dans le module UserForm1: Private Sub TextBox1_Change() CallByName UserForm2, "CommandButton1_Click", 1 End Sub
MP
"ManBas" a écrit dans le message de news:
Re-bonjour, Mes objectifs se précisent aprés le fil précédent. A partir d'un userform1.textbox1_change, je voudrais lancer une Private Sub
XX_click dont le controle se trouve dans un userform2. Anonymous m'a suggéré CallByName. J'ai trouvé ceci: http://frederic.sigonneau.free.fr/code/VBE/DeclencherClickBouton.txt J'ai transformé la Private en Public: le code est parcouru et ça marche. Mais je risque d'en avoir beaucoup (à la fin) des public sub! Ensuite j'ai écris cela mais ça ne marche pas: Dim ProcName As String ProcName = userform2.XX & "_Click" CallByName Worksheets("feuill1"), ProcName, VbMethod Pouvez-vous m'aider à appeler le code en conservant la caractéristique Private? Merci infiniment d'avance.
ManBas
Je vais faire ça. J'avais enlevé le private et à un moment les choses fonctionnaient (lors du message) puis plus rien.C'est dur ça! Merci beaucoup Michel. "Michel Pierron" a écrit dans le message de news: %
Bonsoir ManBas; Dans VBA, toutes les procédures qui ne sont pas déclarées Private sont considérés Public. Donc par exemple dans ton module UserForm2, enlève Private et ça marchera: (Tu peux aussi indiquer directement la constante VbMethod qui vaut 1). Sub CommandButton1_Click() MsgBox "Hello word !", 64 End Sub
Et dans le module UserForm1: Private Sub TextBox1_Change() CallByName UserForm2, "CommandButton1_Click", 1 End Sub
MP
"ManBas" a écrit dans le message de news:
Re-bonjour, Mes objectifs se précisent aprés le fil précédent. A partir d'un userform1.textbox1_change, je voudrais lancer une Private Sub
XX_click dont le controle se trouve dans un userform2. Anonymous m'a suggéré CallByName. J'ai trouvé ceci: http://frederic.sigonneau.free.fr/code/VBE/DeclencherClickBouton.txt J'ai transformé la Private en Public: le code est parcouru et ça marche. Mais je risque d'en avoir beaucoup (à la fin) des public sub! Ensuite j'ai écris cela mais ça ne marche pas: Dim ProcName As String ProcName = userform2.XX & "_Click" CallByName Worksheets("feuill1"), ProcName, VbMethod Pouvez-vous m'aider à appeler le code en conservant la caractéristique Private? Merci infiniment d'avance.
Je vais faire ça.
J'avais enlevé le private et à un moment les choses fonctionnaient (lors du
message) puis plus rien.C'est dur ça!
Merci beaucoup Michel.
"Michel Pierron" <michel.pierron@free.fr> a écrit dans le message de news:
%23ruH0ozUFHA.1552@TK2MSFTNGP10.phx.gbl...
Bonsoir ManBas;
Dans VBA, toutes les procédures qui ne sont pas déclarées Private sont
considérés Public.
Donc par exemple dans ton module UserForm2, enlève Private et ça marchera:
(Tu peux aussi indiquer directement la constante VbMethod qui vaut 1).
Sub CommandButton1_Click()
MsgBox "Hello word !", 64
End Sub
Et dans le module UserForm1:
Private Sub TextBox1_Change()
CallByName UserForm2, "CommandButton1_Click", 1
End Sub
MP
"ManBas" <nospam-manbas@wanadoo.fr> a écrit dans le message de news:
ukKjU2yUFHA.1152@tk2msftngp13.phx.gbl...
Re-bonjour,
Mes objectifs se précisent aprés le fil précédent.
A partir d'un userform1.textbox1_change, je voudrais lancer une Private
Sub
XX_click dont le controle se trouve dans un userform2.
Anonymous m'a suggéré CallByName.
J'ai trouvé ceci:
http://frederic.sigonneau.free.fr/code/VBE/DeclencherClickBouton.txt
J'ai transformé la Private en Public: le code est parcouru et ça marche.
Mais je risque d'en avoir beaucoup (à la fin) des public sub!
Ensuite j'ai écris cela mais ça ne marche pas:
Dim ProcName As String
ProcName = userform2.XX & "_Click"
CallByName Worksheets("feuill1"), ProcName, VbMethod
Pouvez-vous m'aider à appeler le code en conservant la caractéristique
Private?
Merci infiniment d'avance.
Je vais faire ça. J'avais enlevé le private et à un moment les choses fonctionnaient (lors du message) puis plus rien.C'est dur ça! Merci beaucoup Michel. "Michel Pierron" a écrit dans le message de news: %
Bonsoir ManBas; Dans VBA, toutes les procédures qui ne sont pas déclarées Private sont considérés Public. Donc par exemple dans ton module UserForm2, enlève Private et ça marchera: (Tu peux aussi indiquer directement la constante VbMethod qui vaut 1). Sub CommandButton1_Click() MsgBox "Hello word !", 64 End Sub
Et dans le module UserForm1: Private Sub TextBox1_Change() CallByName UserForm2, "CommandButton1_Click", 1 End Sub
MP
"ManBas" a écrit dans le message de news:
Re-bonjour, Mes objectifs se précisent aprés le fil précédent. A partir d'un userform1.textbox1_change, je voudrais lancer une Private Sub
XX_click dont le controle se trouve dans un userform2. Anonymous m'a suggéré CallByName. J'ai trouvé ceci: http://frederic.sigonneau.free.fr/code/VBE/DeclencherClickBouton.txt J'ai transformé la Private en Public: le code est parcouru et ça marche. Mais je risque d'en avoir beaucoup (à la fin) des public sub! Ensuite j'ai écris cela mais ça ne marche pas: Dim ProcName As String ProcName = userform2.XX & "_Click" CallByName Worksheets("feuill1"), ProcName, VbMethod Pouvez-vous m'aider à appeler le code en conservant la caractéristique Private? Merci infiniment d'avance.