OVH Cloud OVH Cloud

Déclencher un évenement à partir d'un autre formulaire que celui concerné

7 réponses
Avatar
ManBas
Bonjour,
Est-il possible de déclencher un evenement sur click dans un userform2 à
partir d'un textbox_change dans un userform1?
Par exemple:
Dans userform1, j'ai mis
if textbox1.value="ok" then userform2.checkbox2=-1.
A l'ouverture de userform2 j'ai bien le checkbox coché en gris.
Mais je ne sais pas déclencher la macro qui est normalement gérée par
checkbox2 lorsqu'on clique vraiment dessus.
Alors j'ai essayé de mettre dans userform2_initialize():
If (userform2.Visible = True) And (checkbox2.Value = -1) Then
checkbox2_click
ça ne marche pas non plus.
Dois-je recopier intégralement le code de checkbox2_click pour lancer ma
macro à partir de textbox1_change?
J'ai cherché dans excelabo...et me voilà!
Merci infiniment de vos conseils.

7 réponses

Avatar
Gérald ROUSSEL
Bonjour,

En fait, il faut que tu lances, lors du texbox_change, la macro appelée par
le checkbox2_click.
de ce fait, tu aurais :
if textbox1.value="ok" then
userform2.checkbox2=-1
userform2.MacroAppeléeParCheckBox2
end if

Ca devrait passer...
Bon courage.
--

Gérald ROUSSEL.
http://groussel.free.fr

"ManBas" a écrit dans le message de
news:
Bonjour,
Est-il possible de déclencher un evenement sur click dans un userform2 à
partir d'un textbox_change dans un userform1?
Par exemple:
Dans userform1, j'ai mis
if textbox1.value="ok" then userform2.checkbox2=-1.
A l'ouverture de userform2 j'ai bien le checkbox coché en gris.
Mais je ne sais pas déclencher la macro qui est normalement gérée par
checkbox2 lorsqu'on clique vraiment dessus.
Alors j'ai essayé de mettre dans userform2_initialize():
If (userform2.Visible = True) And (checkbox2.Value = -1) Then
checkbox2_click
ça ne marche pas non plus.
Dois-je recopier intégralement le code de checkbox2_click pour lancer ma
macro à partir de textbox1_change?
J'ai cherché dans excelabo...et me voilà!
Merci infiniment de vos conseils.




Avatar
anonymousA
Ai pas essayé et ne sais pas si cette instruction est disponible avant
Excel 2000, mais il existe la méthode Callbyname.
A voir dans l'aide de VBA

A+

Bonjour,
Est-il possible de déclencher un evenement sur click dans un userform2 à
partir d'un textbox_change dans un userform1?
Par exemple:
Dans userform1, j'ai mis
if textbox1.value="ok" then userform2.checkbox2=-1.
A l'ouverture de userform2 j'ai bien le checkbox coché en gris.
Mais je ne sais pas déclencher la macro qui est normalement gérée par
checkbox2 lorsqu'on clique vraiment dessus.
Alors j'ai essayé de mettre dans userform2_initialize():
If (userform2.Visible = True) And (checkbox2.Value = -1) Then
checkbox2_click
ça ne marche pas non plus.
Dois-je recopier intégralement le code de checkbox2_click pour lancer ma
macro à partir de textbox1_change?
J'ai cherché dans excelabo...et me voilà!
Merci infiniment de vos conseils.




Avatar
ManBas
Je suis dans excel2000 justement. Je vais voir cette solution.
Merci anonymous.
"anonymousA" a écrit dans le message de news:
427cd830$0$820$
Ai pas essayé et ne sais pas si cette instruction est disponible avant
Excel 2000, mais il existe la méthode Callbyname.
A voir dans l'aide de VBA

A+

Bonjour,
Est-il possible de déclencher un evenement sur click dans un userform2 à
partir d'un textbox_change dans un userform1?
Par exemple:
Dans userform1, j'ai mis
if textbox1.value="ok" then userform2.checkbox2=-1.
A l'ouverture de userform2 j'ai bien le checkbox coché en gris.
Mais je ne sais pas déclencher la macro qui est normalement gérée par
checkbox2 lorsqu'on clique vraiment dessus.
Alors j'ai essayé de mettre dans userform2_initialize():
If (userform2.Visible = True) And (checkbox2.Value = -1) Then
checkbox2_click
ça ne marche pas non plus.
Dois-je recopier intégralement le code de checkbox2_click pour lancer ma
macro à partir de textbox1_change?
J'ai cherché dans excelabo...et me voilà!
Merci infiniment de vos conseils.





Avatar
ManBas
Justement je voulais éviter de recopier tout le code pour éviter des
longueurs +++.
Donc si je te lis correctement il faudrais que je rajoute userform2 avant
MacroAppeléeParCheckBox2?
Vais essayer.
A+

"Gérald ROUSSEL" a écrit dans le message de news:
uX3fe.15630$
Bonjour,

En fait, il faut que tu lances, lors du texbox_change, la macro appelée
par
le checkbox2_click.
de ce fait, tu aurais :
if textbox1.value="ok" then
userform2.checkbox2=-1
userform2.MacroAppeléeParCheckBox2
end if

Ca devrait passer...
Bon courage.
--

Gérald ROUSSEL.
http://groussel.free.fr

"ManBas" a écrit dans le message de
news:
Bonjour,
Est-il possible de déclencher un evenement sur click dans un userform2 à
partir d'un textbox_change dans un userform1?
Par exemple:
Dans userform1, j'ai mis
if textbox1.value="ok" then userform2.checkbox2=-1.
A l'ouverture de userform2 j'ai bien le checkbox coché en gris.
Mais je ne sais pas déclencher la macro qui est normalement gérée par
checkbox2 lorsqu'on clique vraiment dessus.
Alors j'ai essayé de mettre dans userform2_initialize():
If (userform2.Visible = True) And (checkbox2.Value = -1) Then
checkbox2_click
ça ne marche pas non plus.
Dois-je recopier intégralement le code de checkbox2_click pour lancer ma
macro à partir de textbox1_change?
J'ai cherché dans excelabo...et me voilà!
Merci infiniment de vos conseils.








Avatar
ManBas
Donc ça marche pas mais...
Voici le nom du code sur mon controle checkbox2:
Private Sub PCA_morph_Click()
Pour l'écriture userform2.MacroAppeléeParCheckBox2, il me réponds erreur de
compilation-membre de méthode ou de données introuvable, que j'écrive
userform2.PCA_morph_Click
ou
userform2.PCA_morph_
Peut-être que je n'écris pas exactement? (évidemment j'ai remplacé userform2
par le vrai nom)
Qu'en penses-tu?


"Gérald ROUSSEL" a écrit dans le message de news:
uX3fe.15630$
Bonjour,

En fait, il faut que tu lances, lors du texbox_change, la macro appelée
par
le checkbox2_click.
de ce fait, tu aurais :
if textbox1.value="ok" then
userform2.checkbox2=-1
userform2.MacroAppeléeParCheckBox2
end if

Ca devrait passer...
Bon courage.
--

Gérald ROUSSEL.
http://groussel.free.fr

"ManBas" a écrit dans le message de
news:
Bonjour,
Est-il possible de déclencher un evenement sur click dans un userform2 à
partir d'un textbox_change dans un userform1?
Par exemple:
Dans userform1, j'ai mis
if textbox1.value="ok" then userform2.checkbox2=-1.
A l'ouverture de userform2 j'ai bien le checkbox coché en gris.
Mais je ne sais pas déclencher la macro qui est normalement gérée par
checkbox2 lorsqu'on clique vraiment dessus.
Alors j'ai essayé de mettre dans userform2_initialize():
If (userform2.Visible = True) And (checkbox2.Value = -1) Then
checkbox2_click
ça ne marche pas non plus.
Dois-je recopier intégralement le code de checkbox2_click pour lancer ma
macro à partir de textbox1_change?
J'ai cherché dans excelabo...et me voilà!
Merci infiniment de vos conseils.








Avatar
Gérald ROUSSEL
effectivement mais la solution de Anonymous est plus pratique... A voir à
l'usage.

--

Gérald ROUSSEL.
http://groussel.free.fr
"ManBas" a écrit dans le message de
news:
Justement je voulais éviter de recopier tout le code pour éviter des
longueurs +++.
Donc si je te lis correctement il faudrais que je rajoute userform2 avant
MacroAppeléeParCheckBox2?
Vais essayer.
A+

"Gérald ROUSSEL" a écrit dans le message de news:
uX3fe.15630$
Bonjour,

En fait, il faut que tu lances, lors du texbox_change, la macro appelée
par
le checkbox2_click.
de ce fait, tu aurais :
if textbox1.value="ok" then
userform2.checkbox2=-1
userform2.MacroAppeléeParCheckBox2
end if

Ca devrait passer...
Bon courage.
--

Gérald ROUSSEL.
http://groussel.free.fr

"ManBas" a écrit dans le message de
news:
Bonjour,
Est-il possible de déclencher un evenement sur click dans un userform2
à



partir d'un textbox_change dans un userform1?
Par exemple:
Dans userform1, j'ai mis
if textbox1.value="ok" then userform2.checkbox2=-1.
A l'ouverture de userform2 j'ai bien le checkbox coché en gris.
Mais je ne sais pas déclencher la macro qui est normalement gérée par
checkbox2 lorsqu'on clique vraiment dessus.
Alors j'ai essayé de mettre dans userform2_initialize():
If (userform2.Visible = True) And (checkbox2.Value = -1) Then
checkbox2_click
ça ne marche pas non plus.
Dois-je recopier intégralement le code de checkbox2_click pour lancer
ma



macro à partir de textbox1_change?
J'ai cherché dans excelabo...et me voilà!
Merci infiniment de vos conseils.












Avatar
ManBas
C'est bien le nom de la private sub qui pose problème.
Pourquoi n'est-il pas reconnu?
J'ai essayé le callbyname (hermétique l'aide VBA, et chiche aussi). Le code
bloque aprés, toujours sur le nom de la private sub.
"Gérald ROUSSEL" a écrit dans le message de news:
5r5fe.16143$
effectivement mais la solution de Anonymous est plus pratique... A voir à
l'usage.

--

Gérald ROUSSEL.
http://groussel.free.fr
"ManBas" a écrit dans le message de
news:
Justement je voulais éviter de recopier tout le code pour éviter des
longueurs +++.
Donc si je te lis correctement il faudrais que je rajoute userform2 avant
MacroAppeléeParCheckBox2?
Vais essayer.
A+

"Gérald ROUSSEL" a écrit dans le message de
news:
uX3fe.15630$
Bonjour,

En fait, il faut que tu lances, lors du texbox_change, la macro appelée
par
le checkbox2_click.
de ce fait, tu aurais :
if textbox1.value="ok" then
userform2.checkbox2=-1
userform2.MacroAppeléeParCheckBox2
end if

Ca devrait passer...
Bon courage.
--

Gérald ROUSSEL.
http://groussel.free.fr

"ManBas" a écrit dans le message de
news:
Bonjour,
Est-il possible de déclencher un evenement sur click dans un userform2
à



partir d'un textbox_change dans un userform1?
Par exemple:
Dans userform1, j'ai mis
if textbox1.value="ok" then userform2.checkbox2=-1.
A l'ouverture de userform2 j'ai bien le checkbox coché en gris.
Mais je ne sais pas déclencher la macro qui est normalement gérée par
checkbox2 lorsqu'on clique vraiment dessus.
Alors j'ai essayé de mettre dans userform2_initialize():
If (userform2.Visible = True) And (checkbox2.Value = -1) Then
checkbox2_click
ça ne marche pas non plus.
Dois-je recopier intégralement le code de checkbox2_click pour lancer
ma



macro à partir de textbox1_change?
J'ai cherché dans excelabo...et me voilà!
Merci infiniment de vos conseils.