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 !!
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 !!