Copier feuille et la renommer

Bonsoir le forum

J'ai un classeur avec deux onglets créés; Sem 01, Sem 02

Je voudrai créer par copie de Sem 02 la Sem 03

puis de Sem 03 créer Sem 04 ainsi de suite jusqu'à...Sem 52.

j'ai parcouru le forum et essayé d'adapter ce que j'ai trouvé mais ce n'est pas à ma portée dont ceci:

Sub TestAjoutFeuilles()
'
Sheets(Sheets.Count).Copy After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Select
ActiveSheet.Name = "Sem " & CInt(Mid(ActiveSheet.Name, 2, "Sem ")) + 1

End Sub 

cela copie bien mais ne renomme pas.

merci de votre aide

Salut le forum

Avec un fichier ne contenant qu'une feuille nommé Sem1

Sub CopySheetRename()
With ActiveWorkbook.Sheets
.Add after:=Worksheets(Worksheets.Count)
End With
ActiveSheet.Name = "Sem" & Worksheets.Count
End Sub

Mytå

Merci Myta pour ta réponse rapide

Mais je suis obligé de partir de Sem 02 car j'ai pas mal de formule avec fonctions indirect par rapport à Sem 01

Comment adapter?

merci encore

Re le forum

Tu sélectionnes alors la Sem2 et tu lances la macro

Sub CopySheetRename()
Dim Cpt As Byte

For Cpt = 3 To 52
  With ActiveWorkbook.ActiveSheet
    .Copy After:=Worksheets(Worksheets.Count)
  End With
ActiveSheet.Name = "Sem" & Cpt
Next Cpt

End Sub

Mytå

Bonjour le forum

Merci beaucoup Myta pour ton code qui fonctionne bien.

Une dernière question:

Comment faire pour que le nommage soit Sem 03 et non Sem3 ?

Pour l'espace ca va mais pour le zéro je trouve pas.

Sub CopySheetRename()
Dim Cpt As Byte

For Cpt = 3 To 52
  With ActiveWorkbook.ActiveSheet
    .Copy After:=Worksheets(Worksheets.Count)
  End With
ActiveSheet.Name = "Sem " & Cpt
Next Cpt

End Sub

C'est bon

Grâce à l'aide du forum

Voila le code pour ceux à qui ça peut servir

Sub CopySheetRename()
Dim Cpt As Byte

For Cpt = 3 To 52
  With ActiveWorkbook.ActiveSheet
    .Copy After:=Worksheets(Worksheets.Count)
  End With
ActiveSheet.Name = "Sem " & Format(Cpt, "00")
Next Cpt

End Sub

Encore merci à tous

Rechercher des sujets similaires à "copier feuille renommer"