Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim dercol As Long, col As Long, c As Long, rw as long
If Intersect(Target, Range("d1:o1000")) Is Nothing Or Target.Count > 1 Then Exit Sub
'À remplacer par la dernière colonne remplie
dercol = Columns("O").Find("*", Range("O1"), , , , xlPrevious).Column
For col = ActiveCell.Column To dercol
c = c + 1
For rw = 0 to 4
Target.Offset(rw, c - 1).Interior.Color = vbRed
Next rw
Next col
Cancel = True
End Sub