Bonjour et bienvenue sur le forum
Un essai à tester. Te convient-il ?
Option Explicit
Dim f As Worksheet, dico As Object, tablo2, tablo1
Dim i&
Sub NombreDhabitants()
Set f = Sheets("Feuil2")
tablo1 = Range("A1").CurrentRegion
tablo2 = f.Range("A1").CurrentRegion
Set dico = CreateObject("Scripting.Dictionary")
For i = 2 To UBound(tablo2, 1)
dico(tablo2(i, 1)) = tablo2(i, 2)
Next i
ReDim Preserve tablo1(1 To UBound(tablo1, 1), 1 To 2)
For i = 2 To UBound(tablo1, 1)
If dico.exists(tablo1(i, 1)) Then
tablo1(i, 2) = dico(tablo1(i, 1))
End If
Next i
Range("A1").Resize(UBound(tablo1, 1), 2) = tablo1
End Sub
Bye !