Sub a()
Dim T(), L As Long, LOtNO As ListObject, LOtEM As ListObject, NomCol As String
T = Feuil2.[Q1].CurrentRegion.Value
Set LOtNO = Feuil7.ListObjects(1)
Set LOtEM = Feuil5.ListObjects(1)
On Error Resume Next
For L = 2 To UBound(T, 1)
NomCol = T(L, 1)
If NomCol <> "" Then
Err.Clear
LOtNO.ListColumns(NomCol).Range.EntireColumn.Hidden = T(L, 2) <> "Finance"
If Err Then MsgBox "Colonne """ & NomCol & """ introuvable dans " & LOtNO.Name, _
vbExclamation, "a"
End If
NomCol = T(L, 3)
If NomCol <> "" Then
Err.Clear
LOtNO.ListColumns(NomCol).Range.EntireColumn.Hidden = T(L, 4) <> "Finance"
If Err Then MsgBox "Colonne """ & NomCol & """ introuvable dans " & LOtNO.Name, _
vbExclamation, "a"
End If
Next L
End Sub