Bonsoir,
une autre proposition, liste de remplacement à compléter
Sub aargh()
Set dict = CreateObject("scripting.dictionary")
part = Split("LE,LA,DE,VAN,VON,Y,ET,DI,DA,DOS,DU", ",")
For i = LBound(part) To UBound(part)
dict.Add part(i), "_" & part(i) & "_"
Next i
With Sheets("feuil1")
dl = .Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To dl
np = .Cells(i, 1)
t = Split(np, " ")
ns = ""
For j = LBound(t) To UBound(t)
s = t(j)
If dict.exists(s) Then s = dict.Item(s)
ns = ns & s & "@"
Next j
ns = Replace(ns, "_@", "_")
ns = Replace(ns, "@_", "_")
ns = Replace(ns, "__", "_")
t = Split(ns, "@")
.Cells(i, 2) = Trim(Replace(t(0), "_", " "))
.Cells(i, 3) = Replace(t(1), "_", " ")
If UBound(t) <> 2 Then .Cells(i, 4) = "A vérifier"
Next i
End With
End Sub