Private Sub Worksheet_Calculate()
'--------------------------------------------------------------
Const DebutColFiltre = "N"
Const NbrColFiltre = 5
Const AffCol = "1,1,1,2,2,2,0,3,3,3,3,4,4,4,4,5,5,5,5,5,5,5"
'--------------------------------------------------------------
Dim i&, j&, tablo
Application.ScreenUpdating = False
tablo = Split(AffCol, ",")
Range("N5").Offset(, NbrColFiltre).Resize(, UBound(tablo) + 1).EntireColumn.Hidden = True
If ActiveSheet.AutoFilterMode Then
For i = 0 To UBound(tablo)
If tablo(i) > 0 And tablo(i) <= NbrColFiltre Then
Range("N5").Offset(, i + NbrColFiltre).EntireColumn.Hidden = Not ActiveSheet.AutoFilter.Filters(tablo(i)).On
End If
Next i
End If
Application.ScreenUpdating = True
End Sub