Private Sub CommandButton1_Click()
Dim LOt As ListObject, N As Long, Nom As String, LCnN As ListColumn, LCnX As ListColumn
Set LOt = Me.ListObjects(1)
For N = 1 To ThisWorkbook.Sheets.Count
Nom = ThisWorkbook.Sheets(N).Name
Set LCnN = LOt.ListColumns.Add(Position:=N + 5)
On Error Resume Next: Set LCnX = LOt.ListColumns(Nom): If Err Then Set LCnX = Nothing
On Error GoTo 0
If Not LCnX Is Nothing Then
LCnN.DataBodyRange.Value = LCnX.DataBodyRange.Value
LCnX.Delete: End If
LCnN.Name = Nom: Next N
' N = N + 5
' While LOt.ListColumns.Count >= N: LOt.ListColumns(N).Delete: Wend
End Sub