Public WithEvents CB As MSForms.CheckBox
Private Sub CB_Click()
Dim o As Object, i As Variant
Application.ScreenUpdating = False
Rows("2:" & Rows.Count).Hidden = True
For Each o In CB.Parent.OLEObjects
If o.Name Like "CheckBox*" Then
o.Object.ForeColor = IIf(o.Object, &HFF&, &H0&) 'rouge/noir
If o.Object Then
i = Application.Match(o.Object.Caption, [A:A], 0)
If IsNumeric(i) Then _
Rows(i).Resize(Cells(i + 1, 1).MergeArea.Count + 1).Hidden = False
If o.Object.Caption = "Tout" Then Rows.Hidden = False
End If
End If
Next
ActiveCell.Activate
End Sub