Sub Profession()
Dim t1, t2, n1, n2, dico2, i&, clef
With Sheets("base")
n1 = .Range("c1:d" & .Cells(.Rows.Count, "a").End(xlUp).Row)
t1 = .Range("s1:s" & .Cells(.Rows.Count, "a").End(xlUp).Row)
With Sheets("base2")
n2 = .Range("c1:d" & .Cells(.Rows.Count, "a").End(xlUp).Row)
t2 = .Range("s1:s" & .Cells(.Rows.Count, "a").End(xlUp).Row)
End With
Set dico2 = CreateObject("scripting.dictionary")
dico2.CompareMode = TextCompare
For i = 2 To UBound(n2)
clef = Join(Array(n2(i, 1), n2(i, 2)), "\")
dico2(clef) = t2(i, 1)
Next i
For i = 2 To UBound(n1)
clef = Join(Array(n1(i, 1), n1(i, 2)), "\")
If t1(i, 1) = "" Then t1(i, 1) = IIf(dico2.Exists(clef), dico2(clef), ""))
Next i
.Range("s1:s" & .Cells(.Rows.Count, "a").End(xlUp).Row) = t1
End With
End Sub