Bjr, j'utilise l'instruction
Sheets(Name).Copy After:=Sheets(ActiveWorkbook.Worksheets.Count)
pour copier ma feuille, mais j'aimerais en meme temps nommé la copie...mais je n'ai pas trouvée la solution
si kk a la solution...
Bjr, j'utilise l'instruction
Sheets(Name).Copy After:=Sheets(ActiveWorkbook.Worksheets.Count)
pour copier ma feuille, mais j'aimerais en meme temps nommé la copie...mais je n'ai pas trouvée la solution
si kk a la solution...
Je dirais que l'attribut Name de ton nouvel onglet, alias
(puisque tu positionnes ton onglet en dernière position) va être ton meilleur ami.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Sheets(Worksheets.Count).Name
![]()
le pb c'est que je faisais comme ca, jusqu'a que je me rendre compte que vba ne prends pas en compte les feuilles cachées :
du coup lors du 2eme passage dans ce code ,Worksheets(Sheets.Count) ne contiendra pas la feuille qui vient juste d'etree copiée mais la feuille copiée et cachée a la precedente itération!! ma feuille copiée a l'iteration en cours ne sera donc pas renomée!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 currentSheetName = ActiveSheet.Name Sheets(currentSheetName).Copy After:=Sheets(Sheets.Count) 'Hide and rename the sheet copy Worksheets(Sheets.Count).Visible = xlSheetVeryHidden Worksheets(Sheets.Count).Name = "UNDO_COPY_" + currentSheetName
Ha ouais, d'accord, donc j'ai fait mon malin un peu trop vite, désolé...
![]()
Je ne savais pas qu' Excel ne comptait pas les feuilles cachées.
Et si, tout bêtement, tu renommes ta feuille avant de la déclarer "invisible", ça donne quoi?
Partager