Détection de l'action de la touche Suppr

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 !

Re : Détection de l'action de la touche Suppr

Bonjour,

essaye peut être ceci, ne détecte pas la pression sur la touche "suppr", mais vérifie si le contenu de la cellule modifiée est vide, à voir si cela peut t'aider... ne fonctionnera pas en l'état sur sélection multiple...
Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If IsEmpty(Target) Then MsgBox "Touche Suppr..."
End Sub
bonne journée
@+
 
Re : Détection de l'action de la touche Suppr

Bonjour marmotte18 et Pierrot93,

Tu peux détecter l'appui sur la touche suppr en lançant ce code :
Code:
Sub Detect()
    Application.OnKey "{del}", "Macroàlancer"
End Sub

Et une macro appelée par l'appui de la touche suppr :
Code:
Sub Macroàlancer()
MsgBox "La touche Suppr. a été appuyée." 
End Sub
 
Re : Détection de l'action de la touche Suppr

Si l'objectif est de neutraliser l'appui sur la touche Suppr., alors modifie la macro Macroàlancer comme suit :
Code:
Sub Macroàlancer()
application.sendkeys "^Z"
End Sub

Cordialement et bonne journée.
 
Re : Détection de l'action de la touche Suppr

Re, bonjour Softmama

Attention avec "onkey", il est préférable de réinitialiser la touche à la fermeture du classeur, perso avais pas compris qu'il s'agissait d'annihiler la fonction de la touche...
@+
 
Re : Détection de l'action de la touche Suppr

Bonjour Pierrot93,

Ta proposition fonctionne bien et je t'en remercie. Cependant, le problème est que les remises à blancs des cellules qui ne sont pas passées par la touche "Suppr" sont aussi détectées.
 
Re : Détection de l'action de la touche Suppr

Bonjour Softmama,

Je ne cherche pas à neutraliser la touche "Suppr" mais pouvoir faire un traitement particulier (Call NbeCartes) quand celle-ci est activée uniquement dans la plage de cellules A11:I23,L3:R15,V11:AB23,L20:R32

J'ai l'impression que ta première réponse permettrait de résoudre ce complément de problème. Je te remercie vivement de ton explication et je vais m'empresser d'ouvrir une fiche technique à ce sujet.

Pourrais-tu me dire comment procéder pour adapter ta piste à mon problème spécifique ?

Merci par avance
 
Re : Détection de l'action de la touche Suppr

Re,

Pour ton problème plus spécifique, la solution de Pierrot93, m'apparaît en effet mieux convenir. Voici comment tu peux l'adapter : (à tester)
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If intersect(Target,union([A11:I23],[L3:R15],[V11:AB23],[L20:R32])) is nothing then exit sub

If IsEmpty(Target) Then Call NbeCartes
End Sub

P.S.: Si je le dis avec des chrysanthèmes, c'est plus gentil?
 
Dernière édition:
Re : Détection de l'action de la touche Suppr

Softmama,

Malheureusement, cela ne convient pas car je peux être amené à remettre à blanc (hors touche Suppr) toutes les cellules de ces plages par différents traitements et ta dernière macro tourne très longtemps.

Ce que je souhaite, c'est vraiment détecter autoamtiquement l'action sur la touche Suppr sur ladite plage de cellules.
 
Re : Détection de l'action de la touche Suppr

Re,
Donc pour ne réagir qu'à l'appui sur Suppr et adapté à ton pb:
Code:
Sub Detect()
    Application.OnKey "{del}", "Macroàlancer"
End Sub

et :
Code:
Sub MacroàLancer()
    if Intersect(Selection,[A11:I23],[L3:R15],[V11:AB23],[L20:R32]) is Nothing then Exit Sub
Call NbeCartes
End Sub
 
Dernière édition:
Re : Détection de l'action de la touche Suppr

Re, bonjour Softmama

Attention avec "onkey", il est préférable de réinitialiser la touche à la fermeture du classeur, perso avais pas compris qu'il s'agissait d'annihiler la fonction de la touche...
@+
Re,

Pierrot93 a raison, ne pas omettre de placer:
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
      Application.Onkey ("{del}")
End Sub
dans le module du classeur, pour réactiver la touche SUPPR à la fermeture du calsseur.

Bonne journée.
 
Re : Détection de l'action de la touche Suppr

Un GRAND merci à Softmama et à Pierrot93.

Vous m'avez permis de résoudre mon problème et de façon incidente me révéler un bug dans l'ensemble de ma macro.

Finalement, j'ai opté pour le code suivant :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Range("B11:I23,L3:S15,V11:AC23,L20:S32"), Target) Is Nothing Then Call NbeCartes
End Sub
 
- 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

Retour