Bonjour et bienvenue,
provisoire, car il y a un bug : la taille des noms d'onglet ne peut dépasser 31 caractères ! que fait-on ?
je pense qu'il faudrait donner un code mnémotechnique aux projets par exemple
Sub dupliquer()
Dim nom As String
On Error Resume Next
For i = 4 To 29
nom = Sheets("Tableau de bord du projet").Range("B" & i)
If nom <> "" And Left(nom, 3) <> "La " And Left(nom, 3) <> "Les" And Left(nom, 3) <> "Le " And Left(nom, 6) <> "PROJET" Then
If Not FeuilleExiste(nom) Then
Sheets("Modèle").Cells.Copy
Sheets.Add After:=ActiveSheet
ActiveSheet.Paste
ActiveSheet.Name = nom
End If
End If
Next
End Sub
Function FeuilleExiste(sNomFeuille As String) As Boolean
On Error GoTo Err_FeuilleExiste
FeuilleExiste = False
FeuilleExiste = Not ActiveWorkbook.Worksheets(sNomFeuille) Is Nothing
Err_FeuilleExiste:
End Function
Une fois le problème du nom réglé, on pourra aussi remplir automatiquement certaines cases.