Bonjour,

Le recours à 2 reprises à Cancel = True dans cette procédure me semble inapproprié. Un seul devrait suffire mais je ne vois pas où le placer :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim rép As Byte
 
    If Target.Count > 1 Then Exit Sub
 
    If Target.Row > 5 And Target.Row < 27 And Target.Column > 2 And Target.Column < 369 Then 
 
        If Target.Value <> 0 Then
            rép = MsgBox("Voulez-vous effacer la saisie ?", Buttons:=vbYesNo + vbDefaultButton2 + vbQuestion)
            If rép = vbNo Then
                Cancel = True
                Exit Sub
            Else
                Target.ClearContents
                Cancel = True
            End If
        End If
    End If
End Sub
En vous remerciant par avance pour vos lumières (j'imagine par ailleurs que ce code peut largement être simplifié...),
Cordialement,
jp