VBA : garder même macro en changeant nom feuille
Résolu
Max06
-
Max06 -
Max06 -
Bonjour,
J'ai ce code là :
Sub Rectangleàcoinsarrondis1_Clic()
CallByName Worksheets("Feuil1"), "CommandButton1_Click", VbMethod
End Sub
Existe t il un code similaire à celui-ci sans mettre le nom de la feuille "Feuil1". Pour avoir aucun soucis à l'avenir.
Merci
J'ai ce code là :
Sub Rectangleàcoinsarrondis1_Clic()
CallByName Worksheets("Feuil1"), "CommandButton1_Click", VbMethod
End Sub
Existe t il un code similaire à celui-ci sans mettre le nom de la feuille "Feuil1". Pour avoir aucun soucis à l'avenir.
Merci
A voir également:
- VBA : garder même macro en changeant nom feuille
- Excel compter cellule couleur sans vba - Guide
- Incompatibilité de type vba ✓ - Forum VB / VBA
- Erreur 13 incompatibilité de type VBA excel ✓ - Forum Excel
- Mkdir vba ✓ - Forum VB / VBA
- Dépassement de capacité vba ✓ - Forum Excel
4 réponses
Bonjour,
D'une façon ou d'une autre, tu dois indiquer au VB où se trouve le CommandButton. Bien que je ne comprenne pas exactement à quoi sert ici ton CallByName pour appeler un CommandButton en seule instruction d'une macro, il existe 3 solutions pour ta demande spécifique :
1 - Conserver Worksheets("Feuill1") et faire en sorte que la feuille porte toujours le même nom ;
2 - Remplacer Worksheets("Feuill1") par Worksheets(1) qui fera référence au premier onglet du document, peu importe son nom
3 - Réaliser une macro préalable qui parcourra tous les onglets jusqu'à trouver celui qui porte une indication spécifique (du genre If Sheets(p).Range("A1").Value = "C'est sur cette feuille que se trouve le Boutton1" Then ...) puis exécutera le code correspondant.
Je ne sais pas si je suis très clair, si je suis hors sujet alors je t'invites à reformuler ta demande, peut être que je ne l'ai pas comprise.
D'une façon ou d'une autre, tu dois indiquer au VB où se trouve le CommandButton. Bien que je ne comprenne pas exactement à quoi sert ici ton CallByName pour appeler un CommandButton en seule instruction d'une macro, il existe 3 solutions pour ta demande spécifique :
1 - Conserver Worksheets("Feuill1") et faire en sorte que la feuille porte toujours le même nom ;
2 - Remplacer Worksheets("Feuill1") par Worksheets(1) qui fera référence au premier onglet du document, peu importe son nom
3 - Réaliser une macro préalable qui parcourra tous les onglets jusqu'à trouver celui qui porte une indication spécifique (du genre If Sheets(p).Range("A1").Value = "C'est sur cette feuille que se trouve le Boutton1" Then ...) puis exécutera le code correspondant.
Je ne sais pas si je suis très clair, si je suis hors sujet alors je t'invites à reformuler ta demande, peut être que je ne l'ai pas comprise.
Le commandbutton ce trouve sur la meme feuille en réalité.
J'aime pas trop quand mes macros sont prédéfinis (par classement d'onglet ou en citant les titres des onglets) car si je change dans quelques temps ... tout est a refaire !
:s
J'aime pas trop quand mes macros sont prédéfinis (par classement d'onglet ou en citant les titres des onglets) car si je change dans quelques temps ... tout est a refaire !
:s