Private Sub Worksheet_Change(ByVal Target As Range)
With ListObjects(1).Range 'tableau structuré
If Intersect(Target, .Columns(1)) Is Nothing Then Exit Sub
Dim chemin$, dossier$, fichier$, i&
chemin = ThisWorkbook.Path & "\"
dossier = chemin & "Gestion écoles\"
If Dir(dossier, vbDirectory) = "" Then MkDir dossier 'création du dossier
'---suppression des fichiers .xlsx---
fichier = Dir(chemin & "*.xlsx")
On Error Resume Next
While fichier <> ""
Workbooks(fichier).Close False 'si l'un des fichiers est ouvert on le ferme
Kill dossier & fichier
fichier = Dir
Wend
On Error GoTo 0
'---création des fichiers .xlsx---
Application.DisplayAlerts = False
fichier = ThisWorkbook.FullName 'mémorise
For i = 2 To .Rows.Count
If .Cells(i, 1) <> "" Then ThisWorkbook.SaveAs dossier & .Cells(i, 1) & ".xlsx", 51 'fichier .xlsx
Next
End With
ThisWorkbook.SaveAs fichier, 52 'fichier .xlsm
End Sub