Private Sub Worksheet_Change(ByVal Target As Range)
Dim ws As Worksheet, NF As String
If Not Intersect(Target, [C5:C7]) Is Nothing Then
Application.ScreenUpdating = False
NF = Worksheets("données").[D11]
For Each ws In ActiveWorkbook.Worksheets
On Error Resume Next
Worksheets(NF).Visible = True
If ws.Name <> "interface" And ws.Name <> NF Then ws.Visible = False
On Error GoTo 0
Next ws
Application.ScreenUpdating = False
End If
End Sub