Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [E5:E25]) Is Nothing Then Exit Sub
Dim ntab&, lettre$, n&, i&
Target.Select
Application.ScreenUpdating = False
ntab = Val([E5])
Rows("6:2066").Hidden = True
For ntab = 1 To ntab
Rows(4 + 2 * ntab).Resize(2).Hidden = False
lettre = Chr(64 + ntab)
n = Val([E5].Offset(2 * ntab))
i = Application.Match(lettre, [A:A], 0) - 1
Rows(i & ":" & i + 2 * n + 1).Hidden = False
i = Application.Match("Total " & lettre, [A:A], 0) - 1
Rows(i).Resize(2).Hidden = False
Next
End Sub