Bonjour,
Une proposition VBA à adapter.
Cdlt.
Option Explicit
Public Sub CreateTable()
Dim wb As Workbook
Dim wsData As Worksheet, wsTable As Worksheet
Dim lastCol As Long, lCol As Long
Dim lo As ListObject
Application.ScreenUpdating = False
ActiveWindow.DisplayGridlines = False
Set wb = ActiveWorkbook
Set wsData = wb.Worksheets(1)
With wsData
lastCol = .Cells(1, .Columns.Count).End(xlToLeft).Column
For lCol = lastCol To 1 Step -1
Select Case .Cells(lCol).Value
Case "Date fact.", "Qté vendue", "$ coûtant unit.", "$ vendant", "Produit (desc.)", "Escompte", "Client", "NoProduit", "TypeClient":
Case Else: .Cells(lCol).EntireColumn.Delete
End Select
Next lCol
Set lo = .ListObjects.Add(xlSrcRange, .Cells(1).CurrentRegion, , xlYes)
With lo
.Name = "T_Data"
.TableStyle = "TableStyleLight1"
.ShowTableStyleRowStripes = False
.ShowAutoFilterDropDown = False
End With
End With
End Sub