antha
XLDnaute Occasionnel
[Résolu] Utilisation du nom "personnalisé" au lieu de Feuilx
Bonsoir à tou(te)s !
J'ai essayé d'adapter la macro donnée par MichelXld sur ce post, pour ajouter dynamiquement un bouton et y affecter une macro.
Je me heurte à 1 problème sur la partie qui implémente le code du bouton :
Ce n'est pas le bon nom de feuille qui est utilisé.
Ex. sur excel 3 feuilles : janvier, février, mars. Sur l'éditeur VBA, elles apparaissent en Feuil1(janvier), Feuil2(février), Feuil3(mars).
Lorsque l'on ajoute une feuille (début de macro), elle apparaît en Feuil4(Feuil1).
Donc quand dans le code au dessus, il est indiqué Activesheet.Name, ce n'est pas le nom "perso", mais la numérotation de base qui sert de référence.
Ici Activesheet.Name renvoie à Feuil1, ensuite VBA recherche la bonne feuille qui pour lui est celle qui s'appelle Feuil1 donc "Janvier". Et insère donc le code dans la mauvaise feuille.
Si la nouvelle feuille avait été renommée (ex. avril), VBA aurait cherché avril et ne le trouve donc jamais et génère une erreur 9.
Sauriez vous s'il est possible de spécifier le nom "personnalisé" de la feuille lors de l'ajout du code ?
J'espère avoir été assez clair pour être compréhensible...!
Merci de votre aide
Bonne soirée
Bonsoir à tou(te)s !
J'ai essayé d'adapter la macro donnée par MichelXld sur ce post, pour ajouter dynamiquement un bouton et y affecter une macro.
Je me heurte à 1 problème sur la partie qui implémente le code du bouton :
Code:
With ThisWorkbook.VBProject.VBComponents([B]ActiveSheet.Name[/B]).CodeModule
x = .CountOfLines + 1
.InsertLines x, laMacro
End With
Ce n'est pas le bon nom de feuille qui est utilisé.
Ex. sur excel 3 feuilles : janvier, février, mars. Sur l'éditeur VBA, elles apparaissent en Feuil1(janvier), Feuil2(février), Feuil3(mars).
Lorsque l'on ajoute une feuille (début de macro), elle apparaît en Feuil4(Feuil1).
Donc quand dans le code au dessus, il est indiqué Activesheet.Name, ce n'est pas le nom "perso", mais la numérotation de base qui sert de référence.
Ici Activesheet.Name renvoie à Feuil1, ensuite VBA recherche la bonne feuille qui pour lui est celle qui s'appelle Feuil1 donc "Janvier". Et insère donc le code dans la mauvaise feuille.
Si la nouvelle feuille avait été renommée (ex. avril), VBA aurait cherché avril et ne le trouve donc jamais et génère une erreur 9.
Sauriez vous s'il est possible de spécifier le nom "personnalisé" de la feuille lors de l'ajout du code ?
J'espère avoir été assez clair pour être compréhensible...!
Merci de votre aide
Bonne soirée
Dernière édition: