Private Sub Worksheet_Change(ByVal Target As Range)
Dim a, b, c, x$, g, n%, vis%, e
a = Array("B", "C") 'noms modifiables
b = Array("D", "E") 'noms modifiables
c = Array("F", "G", "H") 'noms modifiables
x = LCase(CStr([B1]))
Application.ScreenUpdating = False
For Each g In Array(a, b, c)
n = n + 1
vis = IIf(x = "start1" Or x = "start" & n + 1, xlSheetVisible, xlSheetVeryHidden)
For Each e In g
Sheets(e).Visible = vis
Next e, g
End Sub