Sub Creation_Onglets_Selon_Modele()
Dim c As Range
Application.ScreenUpdating = False
'S'ils n'existent pas, on crée les onglets qui sont listés
'à partir de la cellule A12 de l'onglet nommé Liste
Set c = Worksheets("Liste").Range("A12") 'cellule de départ
Do Until IsEmpty(c) 'boucle tant que c n'est pas vide
'Si l'onglet (c.Value) n'existe pas, on copie le modèle en dernier
On Error Resume Next: Worksheets(c.Value).Activate
If Err.Number Then Worksheets("Modèle").Copy After:=Worksheets(ThisWorkbook.Sheets.Count): ActiveSheet.Name = c.Value
With ActiveSheet 'avec l'onglet créé ou l'onglet déjà existant
If .Name = c.Value Then
'on remplit notre modèle comme on veut...
.Range("B7") = c.Value 'on met dans la cellule B7 le matricule du salarié
Else
' c.Value n'est pas un nom d'onglet correct : suppression de l'onglet
'(On peut mettre ici un message d'alerte)
Application.DisplayAlerts = False
.Delete
Application.DisplayAlerts = True
End If
End With
Set c = c.Offset(1, 0) 'prochaine ligne
Loop
Application.ScreenUpdating = True
End Sub