Bonjour à tous, bonne vacances pour ceux qui y sont.
Je reviens sur le forum car j'ai un petit soucis. L'objectif est de bloquer l'utilisateur qui essaie de supprimer sur une feuille Excel des cellules contenant "@ *" ou "<> *" car ces cellules sont utilisées par l'application que j'ai créée.
J'arrive correctement à intercepter la touche {SUPPR} avec application.onkey et ma macro fonctionne correctement mais j'ai un problème car je n'arrive pas à intercepter la touche avec "la flèche vers la gauche qui efface".
Je suis allé sur plusieurs forum et j'ai essayé avec les touches {CLEAR}, {SUPPR}, {DEL} et {DELETE} mais rien à faire.
Voici mon code :
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Application.EnableEvents = False
Application.OnKey Key:="{DELETE}", procedure:="supprimpo"
Application.OnKey Key:="{DEL}", procedure:="supprimpo"
Application.OnKey Key:="{SUPPR}", procedure:="supprimpo"
Application.OnKey Key:="{CLEAR}", procedure:="supprimpo"
Application.EnableEvents = True
End Sub
et puis
Sub supprimpo()
Application.ScreenUpdating = False
Dim CurCell As Object
For Each CurCell In Selection
If CurCell.Value Like "@ *" Or CurCell.Value Like "<> *" Then
nb = nb + 1
End If
Next
If nb > 0 Then
MsgBox ("Impossible de supprimer la sélection car elle contient des références.")
Selection.Offset(1, 0).Select
Else
For Each CurCell In Selection
CurCell = ""
Next
End If
Application.ScreenUpdating = True
End Sub
Si quelqu'un a la solution un grand grand grand merci !!