Private Sub Worksheet_Change(ByVal Target As Range)
'si le changement se fait en dehors de la plage B3:B200, sort de la procédure
If Application.Intersect(Target, Range("B3:B200")) Is Nothing Then Exit Sub
'si "oui" (quelle que soit la casse) est inscrit dans la cellule
If UCase(Target.Value) = "OUI" Then
'les trois cellules adjacentes prennent la valeur "non"
Range(Target.Offset(0, 1), Target.Offset(0, 3)).Value = "non"
Else 'sinon
'les 3 cellules adjacentes se vident
Range(Target.Offset(0, 1), Target.Offset(0, 3)).Value = ""
End If
End Sub