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

Application.onkey à l'aide !

  • Initiateur de la discussion Initiateur de la discussion gvives
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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 !!
 
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...
 
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 !!
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
703
Réponses
35
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…