Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Application.CutCopyMode Then Exit Sub 'permet le copier-coller
Dim mini, maxi, tablo, d As Object, i&, x
mini = [E2]: maxi = [F2] 'à adapter
tablo = [Tableau3].Resize(, 2).Value2 'matrice, plus rapide, au moins 2 éléments
Set d = CreateObject("Scripting.Dictionary")
For i = 1 To UBound(tablo)
x = tablo(i, 1)
If x <> "" Then If x >= mini And x <= maxi Then d(x) = ""
Next
'---restitution---
With [Tableau4]
If d.Count Then .Resize(d.Count) = Application.Transpose(d.keys)
If .Rows.Count > d.Count Then .Rows(d.Count + 1).Resize(.Rows.Count - d.Count).Delete xlUp 'RAZ en dessous
.Sort .Columns(1), xlAscending, Header:=xlYes 'tri
End With
End Sub