VBA : garder même macro en changeant nom feuille

Résolu
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

4 réponses

sipherion Messages postés 1809 Date d'inscription   Statut Membre Dernière intervention   286
 
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.
0
Max06
 
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
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Bonjour,

Je n'y ai pas pensé la semaine dernière, mais :
Sub Rectangleàcoinsarrondis1_Cliquer()
CallByName Worksheets(ActiveSheet.Name), "CommandButton1_Click", VbMethod
End Sub

0
Max06
 
Yes merci beaucoup, mon collègue ni était pas parvenu ;)
0