Option Explicit
Private Sub CommandButton2_Click()
Dim c As Range, x As Long, i As Long
Workbooks.Open Filename:="C:\nouveau dossier\données sources.xls"
With Workbooks("données sources.xls").Worksheets("feuil1")
For Each c In .Range("B2", .Range("B65536").End(xlUp))
If c.Value = "xxx" Then
.Cells(c.Row, 1).Resize(1, 4).Copy Workbooks("resultat.xls").Worksheets("feuil1").Range("A65536").End(xlUp)(2)
End If
Next c
End With
With Workbooks("resultat.xls").Worksheets("feuil1")
x = .Range("A65536").End(xlUp).Row
.Range("A1:D" & x).AdvancedFilter Action:=xlFilterInPlace, Unique:=True
For i = x To 1 Step -1
If .Rows(i).Hidden Then .Rows(i).Delete
Next i
If .FilterMode Then .ShowAllData
End With
With Workbooks("resultat.xls").Worksheets("feuil2")
x = .Range("A65536").End(xlUp).Row
.Range("A1:D" & x).AdvancedFilter Action:=xlFilterInPlace, Unique:=True
For i = x To 1 Step -1
If .Rows(i).Hidden Then .Rows(i).Delete
Next i
If .FilterMode Then .ShowAllData
End With
Workbooks("données sources.xls").Close False
End Sub