Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim r As Range, coul As Range
Set r = Intersect(Target, [B5:BK16])
If r Is Nothing Then Exit Sub
Cancel = True
For Each r In r 'si sélection multiple
If r.Interior.ColorIndex <> 15 Then
If IsNumeric(CStr(r)) Then Set coul = Union(r, r(1, 2), IIf(coul Is Nothing, r, coul))
If IsNumeric(CStr(r(1, 0))) Then Set coul = Union(r(1, 0), r, IIf(coul Is Nothing, r, coul))
End If
Next
If coul Is Nothing Then Exit Sub
Protect "STEPH", UserInterfaceOnly:=True 'modification possible seulement par macro
coul.Select
Application.Dialogs(xlDialogPatterns).Show 'palette de couleurs
If coul(1).Interior.ColorIndex = 15 Then coul.Interior.ColorIndex = 48 'gris plus foncé
End Sub