J'ai testé ton code chez moi (et j'ai du ajouter la fonction feuilleexiste) et ça marche sans problèmes, si ce n'est que les feuilles sont créées dans un ordre un peu loufoque...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| Sub ajouterFeuille()
Dim i As Integer
Dim sem As String
For i = 1 To 52
sem = CStr(i)
fexiste = feuilleexiste(sem)
If fexiste = False Then
'ajout d'une feuille
Sheets("Modèle").Select
Sheets("Modèle").Copy Before:=Sheets(1)
Sheets("Modèle (2)").Select
Sheets("Modèle (2)").Name = sem
End If
Next
End Sub
Function feuilleexiste(nom As String) As Boolean
Dim f As Worksheet
Dim b As Boolean
b = False
For Each f In ThisWorkbook.Worksheets
If f.Name = nom Then
b = True
Exit For
End If
Next
feuilleexiste = b
End Function |
Si on remplace cette ligne
Sheets("Modèle").Copy Before:=Sheets(1)
par
Sheets("Modèle").Copy After:=Sheets(Sheets.Count)
les feuilles sont ajoutées à la fin.
Partager