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 :
En vous remerciant par avance pour vos lumières (j'imagine par ailleurs que ce code peut largement être simplifié...),
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
Cordialement,
jp
Partager