XL 2019 Dupliquer feuille après une feuille existante vba

FLOW312020

XLDnaute Nouveau
Bonjour à tous,

J'ai besoin d'un petit coup de votre part pour dupliquer une feuille "Trame" de mon classeur dans ce même classeur.

Aujourd'hui je fais la duplication de la feuille par le code suivant.
oFeuilleTrame.Copy After:=Sheets("Synthèse")

Néanmoins, si demain l'utilisateur renomme la feuille "Synthèse" par "XXX", le code ne marchera plus.
Je souhaite donc transformer le code plus haut en ne faisant plus appel au nom de la feuille mais au nom de cette même feuille renseigné dans le vbe.
Cette feuille s'appelle dans Excel "Synthèse" et dans ses propriétés "wksSynthèse".

Par la suite, je souhaite que la feuille dupliqué soit renommée en "wksDuplication" dans ses propriétés.

J'espère avoir été suffisamment clair dans mes explications.

Merci!
 
Dernière édition:

Phil69970

XLDnaute Barbatruc
Bonjour @FLOW312020 , le forum
Edit : Bonjour @mapomme

En image c'est plus parlant
1617044720692.png

Feuille toto c’est le nom de ton onglet (name) que l'utilisateur peut renommer
Mais Feuil1 en jaune c'est le nom interne (codename) de ta feuille qui lui n'est pas accessible à l'utilisateur sans passer par du code ....

@Phil69970
 
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir @FLOW312020, @Phil69970 ;),

Cliquer sur le bouton Hop!

Évidemment, la macro ne peut être exécutée qu'une seule fois à moins de supprimer avant une autre exécution la feuille créée précédemment.

Voir le code dans module1:
VB:
Sub Test()
Dim oFeuilleTrame As Worksheet, NewFeuille As Worksheet

   Set oFeuilleTrame = Worksheets("Trame")
   oFeuilleTrame.Copy after:=wksSynthèse
   Set NewFeuille = ActiveSheet
   NewFeuille.[_CodeName] = "wksDuplication"
   NewFeuille.Name = "Nouvelle trame"

End Sub
 

Pièces jointes

  • FLOW312020- dupliquer - renommer Codename- v1.xlsm
    19.6 KB · Affichages: 11

Discussions similaires