Private Sub Worksheet_Change(ByVal Target As Range)
Dim idx As Variant
On Error GoTo FIN
Application.EnableEvents = False ' important
'
' Si une seule cellule a changé et quelle est dans la zone nommée 'EnCours'
If Target.CountLarge = 1 And Not Intersect(Target, Range("EnCours")) Is Nothing Then
' Chercher la correspondance dans le tableau T_Chantiers
idx = Application.Match(Target.Text, Feuil1.Range("T_Chantiers[Chantiers]"), 0)
' Non trouvé, on met le style normal
If IsError(idx) Then
Target.Style = "Normal"
Else
' Sinon on importe le format
Feuil1.Range("T_Chantiers[Chantiers]").Cells(idx, 1).Copy
Target.PasteSpecial xlPasteFormats
Application.CutCopyMode = False
End If
End If
FIN:
Application.EnableEvents = True
End Sub