Application.onkey à l'aide !

gvives

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

chris

XLDnaute Barbatruc
Re : Application.onkey à l'aide !

Bonjour

Il serait plus simple d'intercepter le changement de valeur dans une procédure Worksheet_Change pour restaurer l'ancienne si la saisie est non conforme.

Ou plus simple protéger les cellules qui ne doivent pas être modifiées...
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 247
Messages
2 086 591
Membres
103 248
dernier inscrit
Happycat