Option Explicit
Const colSource = "K", colCible = "I" 'Référence en lettre de la colonne Source et Cible"
Sub Stock()
Dim der&, numSource&, numCible&, t, dico, i&
With ActiveSheet
numSource = Cells(1, colSource).Column: numCible = Cells(1, colCible).Column
If .FilterMode Then .ShowAllData
.Cells(1, numCible).EntireColumn.ClearContents
der = .Cells(.Rows.Count, numSource).End(xlUp).Row
t = .Range(.Cells(1, numSource), .Cells(der, numSource)).Resize(, 2)
Set dico = CreateObject("scripting.dictionary")
For i = 2 To UBound(t)
If t(i, 1) <> "" Then dico(t(i, 1)) = t(i, 2)
Next i
der = .Cells(.Rows.Count, "b").End(xlUp).Row
t = .Range(.Cells(1, "b"), .Cells(der, "b"))
t(1, 1) = "Quantité Stock (Maj)"
For i = 2 To UBound(t)
If t(i, 1) <> "" Then If dico.exists(t(i, 1)) Then t(i, 1) = dico(t(i, 1)) Else t(i, 1) = ""
Next i
.Cells(1, numCible).Resize(UBound(t)) = t
End With
End Sub