Sub Listing()
Dim lastrow&, lastcol&
Application.ScreenUpdating = False
With Sheets("List")
If .FilterMode Then .ShowAllData
.Range("b3:d" & Rows.Count).ClearContents
End With
With Sheets("Data")
.Activate
If .FilterMode Then .ShowAllData
lastrow = .Cells(.Rows.Count, DataNumCol_Catégorie).End(xlUp).Row
lastcol = .Cells(2, Columns.Count).End(xlToLeft).Column
.Range(Range("a2"), .Cells(lastrow, lastcol)).AutoFilter Field:=DataNumCol_Catégorie, Criteria1:="<>Hardware"
lastrow = .Cells(.Rows.Count, DataNumCol_Catégorie).End(xlUp).Row
If lastrow < 3 Then Exit Sub
.Range(.Cells(3, DataNumCol_Désignation), .Cells(lastrow, DataNumCol_Désignation)).Copy Sheets("List").Range("b3")
.Range(.Cells(3, DataNumCol_Réference), .Cells(lastrow, DataNumCol_Réference)).Copy Sheets("List").Range("c3")
.Range(.Cells(3, DataNumCol_Catégorie), .Cells(lastrow, DataNumCol_Catégorie)).Copy Sheets("List").Range("d3")
End With
Application.Goto Sheets("List").Range("a1"), True
End Sub