Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

gvives

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

Bonjour Chris, Bonjours Iznogood !

Cette solution fonctionne à merveille !

C'est vrai que je suis parti dans des complications

Merci vraiment à vous deux !

Très bonne journée !!
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…