Private Sub CommandButton1_Click() 'bouton "Remplacer"
Dim pn As Range 'déclare la variable pn (Plage de l'Onglet Np)
Dim pr As Range 'déclare la variable pr (Plage de l'Onglet Ref)
Dim cel As Range 'déclare la variable cel (CELlule)
Dim r As Range 'déclare la variable r (Recherche)
ActiveCell.Select 'enlève le focus au bouton
With Sheets("NP") 'prend en compte l'onglet "NP"
'définit la plage pn
Set pn = .Range("A2:A" & .Cells(Application.Rows.Count, 1).End(xlUp).Row)
End With 'fin de la prise en compte de l'onglet "PN"
With Sheets("Ref") 'prend en compte l'onglet "Ref"
'définit la plage pr
Set pr = .Range("A2:A" & .Cells(Application.Rows.Count, 1).End(xlUp).Row)
End With 'fin de la prise en compte de l'onglet "Ref"
For Each cel In pn 'boucle sur toutes les cellules de la plage pn
Set r = pr.Find(cel.Value, , xlValues, xlWhole) 'définit la recherche r
'si il existe au moins une occurrence, récupère l'ID
If Not r Is Nothing Then cel.Offset(0, 1).Value = r.Offset(0, 1)
Next cel 'prochaine cellule de la boucle
End Sub