Sub CreerFeuille()
Dim numSem As Long, laFeuille As Worksheet
'-- récupérer le numéro de la semaine (pour nommer la nouvelle feuille
'initialiser la variable numSem
numSem = 0
'boucler sur chaque feuille du classeur
For Each laFeuille In ThisWorkbook.Sheets
'si il s'agit d'une "feuille semaine" (dont le nom est de la forme "S**"
If IsNumeric(Replace(laFeuille.Name, "S", "")) Then
'si le numéro de la feuille est > à la variable numSem, le mémoriser dans numSem
If numSem < CLng(Replace(laFeuille.Name, "S", "")) Then numSem = CLng(Replace(laFeuille.Name, "S", ""))
End If
Next laFeuille
'ajouter 1 (nouvelle semaine)
numSem = numSem + 1
With ThisWorkbook
'-- créer la nouvelle feuille (copie de S1)
'copier la feuille S1
.Sheets("S1").Copy after:=.Sheets(.Sheets.Count)
'renommer la nouvelle feuille
.Sheets(.Sheets.Count).Name = "S" & numSem
'la placer après la semaine précédente
.Sheets(.Sheets.Count).Move after:=.Sheets("S" & numSem - 1)
'-- modifier la valeur de la cellule A3
.Sheets("S" & numSem).Range("A3").Value = .Sheets("S1").Range("A3").Value + (numSem - 1) * 7
End With
End Sub