Bonjour Sélénite ,
Une fonction NoStudy qui prend en entrée deux arguments :
- le texte à transformer
- la plage des correspondances
Le code de la fonction NoStudy est dans module1 :
Function NoStudy(x As Range, tablo As Range)
Dim t, i&, n&, m, study_id
t = Split(x)
For i = 0 To UBound(t)
n = InStr(t(i), "==")
If n > 0 Then
m = Val(Mid(t(i), n + 2, 999))
study_id = Application.IfError(Application.VLookup(m, tablo, 2, False), "")
If study_id <> "" Then t(i) = Replace(t(i), m, """" & study_id & """")
End If
Next i
NoStudy = Replace(Join(t), "study_id", "id")
End Function