Bonsoir Bapt46,
Essaie ceci :
Option Explicit
Sub test()
Dim r As Range, e, dico As Object
Set dico = CreateObject("Scripting.Dictionary")
dico.CompareMode = 1
With Sheets("entretien").Range("b4").CurrentRegion.Offset(1)
For Each r In .Columns(1).Cells
If r.Value <> "" Then
If Not dico.exists(r.Value) Then
Set dico(r.Value) = r(, 4).Resize(, 7)
Else
Set dico(r.Value) = Union(dico(r.Value), r(, 4).Resize(, 7))
End If
End If
Next
End With
For Each e In dico
If Evaluate("isref('" & e & "'!a1)") Then dico(e).Copy Sheets(e).Range("b4")
Next
End Sub
klin89