VBA : garder même macro en changeant nom feuille
Résolu/Fermé
A voir également:
- VBA : garder même macro en changeant nom feuille
- Vba range avec variable ✓ - Forum VB / VBA
- Mkdir vba ✓ - Forum VB / VBA
- Vba récupérer valeur cellule ✓ - Forum VB / VBA
- Excel compter cellule couleur sans vba - Guide
- Vba dernière colonne non vide ✓ - Forum VB / VBA
4 réponses
sipherion
Messages postés
1809
Date d'inscription
lundi 22 octobre 2007
Statut
Membre
Dernière intervention
19 décembre 2016
285
11 août 2014 à 10:58
11 août 2014 à 10:58
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
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 750
11 août 2014 à 11:07
11 août 2014 à 11:07
Bonjour,
Je n'y ai pas pensé la semaine dernière, mais :
Je n'y ai pas pensé la semaine dernière, mais :
Sub Rectangleàcoinsarrondis1_Cliquer() CallByName Worksheets(ActiveSheet.Name), "CommandButton1_Click", VbMethod End Sub