J'ai le code ci-dessous qui fonctionne parfaitement bien. Je suis simplement intéressé à savoir s'il existe une meilleure méthode pour choisir le nom de la feuille de travail.Capture du nom de la feuille de calcul sur le bouton ActiveX cliquez sur
Scénario: J'ai des feuilles de calcul «x» avec des boutons à bascule «n». Chaque bouton bascule contrôle les données affichées dans une feuille de calcul via les segments cachés. Les données à basculer sont simplement des zéros et des uns, donc je montre/cache "1" quand on clique sur le bouton bascule.
Le code:
Private Sub tgl_btn_Click()
Set InputSheet = Worksheets("My Worksheet")
Call do_filter("myvalue", tgl_btn.Value, "PivotTable1")
End Sub
do_filter prend le nom de la touche à bascule, ainsi que la valeur et le nom de la table pivotante à un module qui cache les valeurs/unhides dans la table de pivotement.
Ainsi, chaque bouton à bascule sur une feuille de calcul a la ligne suivante inclus avant l'appel du module:
Set InputSheet = Worksheets("My Worksheet")
Est-il possible de ramasser ce nom de feuille de calcul sans coder en dur dans la logique sur chaque clic seul bouton ? La raison: Les utilisateurs renomment la feuille de calcul et donc suppriment la fonction du bouton bascule.
Si le bouton bascule est sur la feuille, vous pouvez utiliser 'ActiveSheet' - vu que la feuille doit être active avant de pouvoir appuyer sur le bouton. –
Plutôt que d'utiliser des boutons ActiveX, essayez les boutons Formulaire, vous pouvez les attacher tous au même sous-élément dans un module normal et utiliser Application.Caller pour déterminer lequel a été poussé. C'est l'objet bouton qui a été poussé: ActiveSheet.Buttons (Application.Caller) – jkpieterse
@ DarrenBartrup-Cook Merci! 'Set InputSheet = ActiveSheet' fonctionne un régal. Simple vraiment. Je devenais un peu trop concentré sur le retour du nom de la feuille. – MiguelH