Private Sub Worksheet_Change(ByVal Target As Range)
Dim tablo, i&, x
With Range("A1", UsedRange).Resize(, 11)
tablo = .Value 'matrice, plus rapide
For i = 1 To UBound(tablo)
x = tablo(i, 3)
tablo(i, 11) = IIf(tablo(i, 1) = "X" And tablo(i, 2) = "MAISON" And (x = "AA" Or x = "BB" Or x = "CC"), "X", "")
Next
Application.EnableEvents = False
.Columns(11) = Application.Index(tablo, , 11)
Application.EnableEvents = True
End With
End Sub