Private Sub Worksheet_Change(ByVal Target As Range)
Dim liste$(), tablo, e, n&
If FilterMode Then ShowAllData 'si la feuille est filtr_e
'---liste ö partir des colonnes sources---
ReDim liste(1 To Rows.Count, 1 To 1)
tablo = Range("S2", Range("S" & Rows.Count).End(xlUp)(3)) 'matrice, plus rapide, au moins 2 _l_ments,
For Each e In tablo
If e <> "" Then n = n + 1: liste(n, 1) = e
Next
tablo = Range("T2", Range("T" & Rows.Count).End(xlUp)(3)) 'matrice, plus rapide, au moins 2 _l_ments
For Each e In tablo
If e <> "" Then n = n + 1: liste(n, 1) = e
Next
'---restitution---
Application.EnableEvents = False
If [S2] = "" And [T2] = "" Then [V2] = ""
With [V2] '1re cellule de restitution, ö adapterr
If n Then
.Resize(n) = liste
.Resize(n).Name = "Liste" 'plage nomm_e
Range("V" & n + 2 & ":Y" & Rows.Count).ClearContents
ActiveSheet.ListObjects("Tableau12").Resize Range("$V$1:$Y$" & n + 1)
If Range("T2") <> "" And Range("S2") <> "" Then Range("X2").AutoFill Destination:=Range("X2:X" & n + 1), Type:=xlFillDefault
End If
' .Offset(n).Resize(Rows.Count - n - .Row + 1).ClearContents 'RAZ en dessous
End With
Application.EnableEvents = True
End Sub