Evenement keypress

Signaler
Messages postés
1
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
17 avril 2008
-
Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
-
salut a tous,

J'ai besoin d'aide pour un événement keypress, à chaque fois que l'on press échap, cela ferme le programme, le problème, c'est que ça ne fonctionne qu'avec quelques feuilles de mon projet. Je ne sais pas si c'est à cause des minuteries ou quelque chose du genre mais bref, voici le code que j'insère dans chaque feuille de mon projet

    If KeyAscii = 27 Then
    End
    End If

assez simple, non?


Mais il reste que ça ne fonctionne guère( ou plutot ca ne fonctionne qu'avec certaines feuilles)répondez s.v.p, merci d'avance.

7 réponses

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,
OU est insérer le code?

<hr size="2" width="100%" />@+: Ju£i?n
Pensez: Réponse
Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
Keyascii ....... pas de code ascii pour la touche Echap (ni F1, F2, ..., F12, les touches flechées, etc)

utilises plutot KeyCode (donc KeyDown/Keyup)
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
Utiliser End pour fermer ton logiciel est une méthode vraiment très très sale.

End provoque un arret brutal de l'application par destruction pure et simple du process l'hébergeant.

Aucun objet n'est correctement fermé, les objets en mémoire sont détruits parce qu'ils ne sont ratachés à un process valide.
Les fichiers ouverts ne sont pas forcément correctement fermés et cela peut provoquer des pertes de données ...........

Avant d'utiliser End, il faut s'assurer que tous les objets explicitement intanciés dans le code sont fermés, les fichiers fermés, les timers arretés, les écrans déchargés ......
End doit etre la toute dernière instrcution à executer lors de la fermeture d'un logiciel. Et généralement d'ailleurs elle n'est pas necessaire. Si tous les écrans sont fermés, tous les objets détruits, ... le logiciel s'arrete de lui-même.
Souvent c'est la fermeture du dernier écran ouvert qui provoque l'arret.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
6
Date d'inscription
lundi 28 janvier 2008
Statut
Membre
Dernière intervention
16 octobre 2008

Salut !
Bon, il est un peu tard, mais j'ai eu aussi ce problème (et c'est pas les réponsse sans rapport avec ta question ci-dessus qui m'ont aidées...).

Vérifie que la propriété du formulaire KeyPreview est bien = True

Voila.
Messages postés
6
Date d'inscription
lundi 28 janvier 2008
Statut
Membre
Dernière intervention
16 octobre 2008

(je précise que chez moi, en débogage, on ne passait même pas dans le code des événements Key... si KeyPreview = False)
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
salut.

"(et c'est pas les réponsse sans rapport avec ta question ci-dessus qui m'ont aidées...)."
qu'est ce qui te permet de dire cela????
Sympa de nous cracher dessus....
@+: Ju£i€n
Pensez: Réponse acceptée
Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
sur que si tu es dans Form_KeyPress, il faut le KeyPreview...

ca n'etais pas précisé...
si c'est pour faire un controle du genre:
bouton Echap pressé, on detecte et on stoppe la tach en cours, mieux vaut, je pense, mettre un bouton, lui donner un Caption explicite "Annuler" et mettre sa propriété Cancel à true.

l'utilisateur lambda pourra cliquer dessus, ou presser echap, sans une seule ligne de code supplémentaire