Private Sub Worksheet_Activate()
Dim tablo(), n, dest As Range
ReDim tablo(1 To Sheets.Count, 1 To 1)
For n = 1 To Sheets.Count
tablo(n, 1) = Sheets(n).Name
Next
Application.EnableEvents = False
Set dest = [A3]
dest.Resize(n - 1) = tablo
dest.Offset(n - 1).Resize(Rows.Count - n - dest.Row + 2).ClearContents 'RAZ en dessous
Application.EnableEvents = True
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim P As Range, test As Boolean, A As Application, n
Set P = Range("A3", Cells(Rows.Count, 1).End(xlUp))
If Intersect(Target, P) Is Nothing Then Exit Sub
test = Application.CountIf(P, "Synthèse") * Application.CountIf(P, "Client 1") * Application.CountIf(P, "Client 2") = 0 'noms à adapter
Set A = Application: If test Or A.CountA(P) <> Sheets.Count Then A.EnableEvents = False: A.Undo: A.EnableEvents = True: Exit Sub
For Each Target In Target 'si entrées multiples (copier-coller
n = Target.Row - 2
On Error Resume Next
Sheets(n).Name = Target 'renomme la feuille
If Err = 0 Then Sheets(n).Cells.Replace Sheets(n).Name, Target, xlWhole, MatchCase:=False 'modifie le contenu de la feuille
Next
End Sub