Option Compare Text 'la casse est ignorée
Private Sub Worksheet_Change(ByVal Target As Range)
Dim x$, d As Object, tablo, i&
x = "Salarié"
Set d = CreateObject("Scripting.Dictionary")
With [A1].CurrentRegion.Resize(, 2)
tablo = .Value 'matrice, plus rapide
For i = 1 To UBound(tablo)
If tablo(i, 1) = x Then d(tablo(i, 2)) = ""
Next i
For i = 1 To UBound(tablo)
If d.exists(tablo(i, 2)) Then tablo(i, 1) = x
Next i
'---restitution---
Application.EnableEvents = False
.Value = tablo
Application.EnableEvents = True
End With
End Sub