Sub Macro1()
Dim dl As Integer 'déclare la variable dl (Dernière Ligne)
Dim pl As Range 'déclare la variable pl (PLage)
Dim t As String 'déclare la variable t (Texte)
With Sheets("WORK_DATA") 'prend en compte l'onglet "WORK_DATA"
dl = .Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligne éditée dl de la colonne 1 (=A)
Set pl = .Range("N2:N" & dl) 'définit la plage pl
End With 'fin de la prise en compte de l'onglet "WORK_DATA"
For Each cel In pl 'boucle sur toutes les cellule cel de la plage pl
'condition : si le nombre de valeurs dans les colonnes F à I est diffrent de 1 (ou si plus d'un seul intrument)
If Application.WorksheetFunction.CountA(cel.Offset(0, -8).Resize(1, 4)) <> 1 Then
cel.Value = 0 'place la valeur zéro dans la cellule cel
Else 'sinon (condition)
t = cel.Offset(0, -8).Resize(1, 4).SpecialCells(xlCellTypeConstants).Value 'définit le texte t
'place dans la cellule cel la valeur, décalé du'une colonne à droite, de la recherche, en colonne M, du texte t en entier
cel.Value = Sheets("REF_DATA").Columns(13).Find(t, , xlValues, xlWhole).Offset(0, 1)
End If 'fin de la condition
Next cel 'prochaine cellule de la boucle
End Sub