Private Sub CommandButton1_Click()
Dim WS1 As Worksheet, WS2 As Worksheet, DerLig As Long, DebLig As Byte, i As Long
Dim Zero As Byte, NonVide As Byte
Set WS1 = Worksheets("Extraction")
Set WS2 = Worksheets("test")
DebLig = 4 'ligne début tableau
DerLig = WS1.Range("B" & Rows.Count).End(xlUp).Row
'masquage des lignes non anomalies
For i = DebLig To DerLig
Zero = Application.CountIf(WS1.Range(WS1.Cells(i, 3), WS1.Cells(i, 12)), "=0")
NonVide = Application.CountA(WS1.Range(WS1.Cells(i, 3), WS1.Cells(i, 12)))
If Zero = 0 And NonVide = 10 Then
WS1.Rows(i).EntireRow.Hidden = True
End If
Next
'copie des lignes affichées
WS1.Range("B" & DebLig &":L" & DerLig).SpecialCells(xlCellTypeVisible).Copy WS2.Range("A3")
' "démasquage des lignes
WS1.Rows(DebLig & ":" & DerLig).EntireRow.Hidden = False
End Sub