Private Sub Worksheet_Change(ByVal Target As Range)
Dim P As Range, ncol%, tablo, resu(), i&, n&, j%
Application.EnableEvents = False 'désactive les évènements
If FilterMode Then ShowAllData 'si la feuille est filtrée
Set P = [B4:C14] 'tableau source, à adapter
ncol = P.Columns.Count
tablo = P.Value
ReDim resu(1 To UBound(tablo), 1 To ncol)
For i = 1 To P.Rows.Count
n = n + 1
For j = 1 To ncol
resu(n, j) = tablo(i, j)
Next j
i = i + P(i, 1).MergeArea.Rows.Count - 1
Next i
With [E4] '1ère cellule des résultats, à adapter
.Resize(n, ncol) = resu
.Resize(n, ncol).Borders.Weight = xlThin
.Offset(n).Resize(Rows.Count - n - .Row + 1, ncol).Delete xlUp 'RAZ sous le tableau
End With
Application.EnableEvents = True 'réactive les évènements
End Sub