Declencher le code d'un bouton par un autre bouton

Résolu
mod77 Messages postés 1284 Date d'inscription   Statut Membre Dernière intervention   -  
 Henri -
Bonjour,

J'ai trouvé ceci
Application.Run "Feuil2.CommandButton2_Click"

pour faire ce que j'ai cité en titre, mais sans "Feuil2." car mon bouton est dans un formulaire. Mais cela ne fonctionne pas.
Un message d'erreur indique que la macro n'est pas dans le classeur ou que les macro sont désactivées.

J'ai écris simplement:
Application.Run "CommandButton2_Click"


Dois-je faire autre chse svp?



A voir également:

2 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonsoir,
et pourquoi pas:
Call CommandButton2_Click()

si l'autre bouton est dans un autre formulaire qui s'appelle Feuil2 et si la fonction est publique, je suggère alors:
Call Form_Feuil2.CommandButton2_Click()

l'un ou l'autre n'est pas très propre, pourquoi ne pas déclarer une fonction qui serait appelée par les deux boutons?
1
mod77 Messages postés 1284 Date d'inscription   Statut Membre Dernière intervention   53
 
merci yg_be,

Mais le code de la fonction est trop long pour le copier.

Est-il possible de passer une variable dans la commande de mon bouton, svp?
du style: Form_NomForm.CommandButton2_Click(feuil2)
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > mod77 Messages postés 1284 Date d'inscription   Statut Membre Dernière intervention  
 
je ne suggérais pas de copier le code, mais de le déplacer, afin d'avoir:
private sub CommandButton2_Click
call auboulot("feuil1")
end sub
private sub CommandButton3_Click
call auboulot("feuil2")
end sub
sub auboulot(onglet as string)
' tout le travail
end sub
0
mod77 Messages postés 1284 Date d'inscription   Statut Membre Dernière intervention   53
 
Bonne idée yg_be !

merci !
0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780 > mod77 Messages postés 1284 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

Pour répondre à :
« Est-il possible de passer une variable dans la commande de mon bouton, svp? »
Oui, en général pour passer une variable à un contrôle (bouton, textbox, combobox, ...) on utilise la propriété .Tag.

Mais dans ton cas il vaut mieux utiliser la proposition de yg_be. (bonjour) , son code n''est pas simplement une bonne idée, c'est la bonne solution !

Patrice
0
mod77 Messages postés 1284 Date d'inscription   Statut Membre Dernière intervention   53
 
D'accord, Merci à vous deux!
0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
Bonjour,

Pour répondre, il serait plus simple de disposer de ton fichier,
débarrassé des informations confidentielles s'il y lieu.

Déposes le fichier avec des commentaires explicatifs sur
https://mon-partage.fr/ ou sur https://www.cjoint.com/
et mets le lien obtenu dans ton prochain message.

Tuto : Comment utiliser C.joint.fr
.
0