Récuperer la fonction "cliquée" ou l'evenement ?

  • Initiateur de la discussion Initiateur de la discussion Creepy
  • 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 !

Creepy

XLDnaute Accro
Bonjour à vous,

J'ai réalisé un fichier Excel contenant du code sur "Worksheet_Change". Ce code permet de vérifier la saisie faites pas les utilisateurs.

Le hic, c'est que lorsque l’utilisateur, fait une "effacer contenu", le worksheet_change se déclenche et Paf le chien une msgbox s'affiche indiquant "saisie non conforme" et paf la macro s'arrête et l'ancienne valeur est gardée !
Cela empêche donc de pouvoir supprimer le contenu d'une cellule !

Ma question : Comment puis-je savoir sur quelle commande a cliqué l'utilisateur ou y'a t'il un événement récupérable pour me permettre de faire un IF et ainsi lorsque l’utilisateur efface/supprime une cellule sortir de mon code et permettre l'action ?

Merci d'avance.

Creepy
 
Re : Récuperer la fonction "cliquée" ou l'evenement ?

Bonjour Creepy,

A mon avis, ce qui caractérise un effacement de données, c'est qu'après il n'y a plus de données

Dans ton Worksheet_Change, fait un test sur la valeur de Target et si elle est vide, sort de ta procédure évènementielle
 
Re : Récuperer la fonction "cliquée" ou l'evenement ?

Bonjour le fil 🙂,
J'ajouterais que s'il n'existe pas, un test sur Target.Count = 1 est souvent recommandé pour que la suppression d'une plage de données ne fasses pas bugguer le code 🙄...
Bonne suite 😎
 
Re : Récuperer la fonction "cliquée" ou l'evenement ?

Tu peux essayer aussi cette procédure.
Je l'ai testé dans un userform avec un textbox avec l'évenement Keydown

Tu as le test sur la touche Backspace <-- et suppr

Code:
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = vbKeyDelete Then MsgBox ("Hello")
If KeyCode = vbKeyBack Then MsgBox ("Aloha")
 
Re : Récuperer la fonction "cliquée" ou l'evenement ?

Re 🙂,
Je l'ai testé dans un userform avec un textbox avec l'évenement Keydown
Dans un USF, oui, mais dans une feuille, il n'y a pas d'événement liés au clavier (mais si tu trouves le moyen d'en ajouter un, ça m'intéresse, mais même par Module de classe, on en avait conclu dans un autre post que c'était impossible 🙄...) 😛...
Bonne suite 😎
 
- 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
Retour