Option Explicit
Const plage = "b3:u22"
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim macell As Range, plagecol As Range, plagelig As Range
Set macell = ActiveCell
Set plagecol = Range(plage).Rows(1).Offset(-1): plagecol.FormatConditions.Delete
Set plagelig = Union(Range("b2"), Range(plage).Columns(1)): plagelig.FormatConditions.Delete
If Intersect(macell, Range(plage)) Is Nothing Then Exit Sub
With Cells(2, macell.Column).MergeArea
.FormatConditions.Add Type:=xlExpression, Formula1:="=VRAI"
.FormatConditions(1).Interior.Color = RGB(255, 150, 255)
.FormatConditions(1).Interior.Pattern = xlSolid
End With
With Cells(macell.Row, 2).MergeArea
.FormatConditions.Add Type:=xlExpression, Formula1:="=VRAI"
.FormatConditions(1).Interior.Color = RGB(255, 150, 255)
.FormatConditions(1).Interior.Pattern = xlSolid
End With
End Sub