Option Explicit
Dim maColonne As Integer
Sub AjoutFeuilles()
Dim derLi As Long
Dim i As Integer
Dim maFeuille As Worksheet
Set maFeuille = ActiveSheet
maColonne = 1 ' a ajuster
derLi = Columns(maColonne).Find("*", , , , , xlPrevious).Row
For i = 2 To derLi ' 2 si ligne de titre
'Si la feuille existe déjà, on passe à la ligne suivante
If FeuilleExiste(maFeuille.Cells(i, maColonne)) Then GoTo Suivant
' ajout d'une feuille à la fin
Sheets("Template").Copy before:=Sheets("Template")
' nom de la feuille = valeur de la cellule
Sheets(Worksheets.Count).Name = maFeuille.Cells(i, maColonne)
Suivant:
Next
'on retourne à la feuille d'origine
maFeuille.Select
Set maFeuille = Nothing
End Sub
Function FeuilleExiste(Nom$) As Boolean 'Ti
On Error Resume Next
FeuilleExiste = Sheets(Nom).Name <> ""
End Function
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = maColonne Then AjoutFeuilles
End Sub