Bonjour,
Une macro sur (un peu) le même principe:
Dim WD As Worksheet, WR As Worksheet, dico As Object, i As Long
Dim ValDeb As Long, ValFin As Long
ValDeb = 20000 ' à adapter
ValFin = 29999 ' à adapter
Set dico = CreateObject("Scripting.Dictionary")
Set WR = Worksheets("Référence")
Set WD = Worksheets("Disponible")
For i = ValDeb To ValFin
dico(CStr(i)) = ""
Next
ref = WR.Range("L3:L" & WR.Range("L" & Rows.Count).End(xlUp).Row)
For i = LBound(ref) To UBound(ref)
If dico.exists(ref(i, 1)) Then dico.Remove (ref(i, 1))
Next
WD.Range("A2").Resize(dico.Count, 1) = Application.Transpose(dico.keys)
A+