Private Sub Worksheet_Change(ByVal Target As Range)
Dim MonTab, TabFin(), i As Long, x As Long, j As Byte
If Target.Address = "$A$1" Then
Range("C3").CurrentRegion.ClearContents
For Each sh In Worksheets
If sh.Name <> "Recherche" Then
MonTab = sh.Range("B2:F" & sh.Range("B" & Rows.Count).End(xlUp).Row)
For i = LBound(MonTab, 1) To UBound(MonTab, 1)
If MonTab(i, 2) = Target Or MonTab(i, 3) = Target Then
x = x + 1
ReDim Preserve TabFin(1 To 5, 1 To x)
TabFin(1, x) = CDbl(MonTab(i, 1))
For j = 2 To 5
TabFin(j, x) = MonTab(i, j)
Next
End If
Next
Erase MonTab
End If
Next
If x > 0 Then
Range("C3").Resize(UBound(TabFin, 2), UBound(TabFin, 1)) = Application.Transpose(TabFin)
Range("C3:G" & 2 + UBound(TabFin, 2)).Sort Key1:=Range("C4"), Order1:=xlDescending, Header:=xlGuess
End If
End If
End Sub