Private Sub Worksheet_Change(ByVal Target As Range)
Dim P As Range, ncol%, ncolpresent%
ListObjects(1).Range.Columns(1).Name = "TRI" 'nomme la 1ère colonne du tableau structuré
If Intersect(Target, [TRI].EntireColumn) Is Nothing Then Exit Sub
Set P = Sheets("KANBANS").[M5:M1819] 'dimension à adapter éventuellement
ncol = Application.Max(P.Offset(, -1)) 'maximum en colonne L
If ncol = 0 Then ncol = 1 'au moins 1 colonne
ncolpresent = Application.CountA(P(1).Resize(, Columns.Count - P.Column + 1))
If ncol > ncolpresent Then P.Columns(ncolpresent).AutoFill P.Columns(ncolpresent).Resize(, ncol - ncolpresent + 1) 'agrandissement
If ncol < ncolpresent Then P.Columns(ncol + 1).Resize(, ncolpresent - ncol).Clear 'effacement
With P.Parent.UsedRange: End With 'actualise la barre de défilement horizontale
P.Resize(, ncol).Name = "PlageMFC" 'plage nommée pour la MFC
End Sub