Execution un private sub si appui sur ESC

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

gds35

XLDnaute Impliqué
Mes AMIS du Forum Bonjour , Bon dimanche ,

J'ai 2 Private sub 1er me permet de mettre ma feuille en total pleine ecran (WORKBOOK ACTIVATE )et sauvegarder mes barres d'outils , un 2eme me permet à la fermeture de la feuille de restaurer ces barres d'outils.(WORKBOOK DESACTIVATE) J'essaye que lorsque je suis en plein ecran si l'utilisateur appui sur ESC , mes barres d'outils se reaffichent.

Comment faire . Cordialement GDS35
 
Re : Execution un private sub si appui sur ESC

Bonjour,

à adapter :

Sub Test()
Application.OnKey "{ESC}", "Test2"
End Sub

Sub Test2()
Application.CommandBars("Standard").Visible = True
End Sub

Celle-ci fait la bascule :

Sub Test2()
With Application.CommandBars("Standard")
.Visible = IIf(.Visible, False, True)
End With
End Sub
 
Re : Execution un private sub si appui sur ESC

Bonjour Catrice , le Forum , j'ai tenté d'adapter tes conseils à mes codes suivants ss succes . je te les transmet a l'initial , car je ne vois pas la solution. Merci de ton aide
Dim Barres As Collection
Private Sub Workbook_Activate()
'
' MASQUER LA BARRE D'OUTILS
'
Dim Barre As CommandBar
Set Barres = New Collection
For Each Barre In Application.CommandBars
If Barre.Visible = True And _
Barre.Name <> "Worksheet Menu Bar" Then
Barres.Add Barre.Name
Barre.Visible = False
End If
Next Barre
Application.CommandBars("worksheet menu bar").Enabled = False
Application.OnKey "{ESC}", "Workbook_Deactivate"
End Sub
Private Sub Workbook_Deactivate()
'
' REAFFICHAGE ANCIENNE BARRE D'OUTILS
'
Dim Barre As Variant
For Each Barre In Barres
Application.CommandBars(Barre).Visible = True
Next Barre
Application.CommandBars("worksheet menu bar").Enabled = True
End Sub
 
Re : Execution un private sub si appui sur ESC

Bonsoir,

Je ne sais pas si j'ai bien compris ce que tu voulais faire.

Dans le fichier Classeur1.xls, ton code qui semble fontionner chez moi.
En passant d'un classeur à celui-ci, les menus disparaissent ou apparaissent.

Dans Classeur2.xls, ESC bascule d'un mode plein ecan à normal et inversement.
 

Pièces jointes

Re : Execution un private sub si appui sur ESC

Bonjour , le Forum , Bonjour Catrice,

Je viens de tester ton code sur mon prg devant être mis en exploitation.....
et j'ai un soucis cad :

Si aucun USF n'est actif , la touche ESC fonctionne si j'active ESC lorsque qu'un USF est affiché , la touche ne réagi pas cela doit avoir une logique .

Cordialement GDS35
 
Re : Execution un private sub si appui sur ESC

Bonjour , le forum , bonjour catrice ,

Effectivement la touche esc (27) marche tres bien . Mais on me la fortement deconseillée. Je voudrais la remplacer par la la touche SCROLLLOCK mais impossible d'en trouver la valeur correspondante . Ou pourrais trouve une table ASCII des touches du clavier???
Je de trouver le code 107 mais il ne semble pas fonctionner
Cordialement GDS35
 
Dernière édition:
Re : Execution un private sub si appui sur ESC

Bonjour,

L'astuce pour avoir le code d'une touche, c'est ça :

Private Sub UserForm_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
MsgBox KeyAscii
End Sub

Mais effectivement, il a l'air de faire partie des codes qui ne sont pas gérables dans un UserForm
 
Re : Execution un private sub si appui sur ESC

ReSalut , le Forum, Catrice ,

Effectivement , il ne semble qu'aucun code ne soit affecté à "SCROLLLOCK" , cette touche était pourtant pratique d'utilisation car ss risque. J'ai jeté un coup d'oeuil au bureau ce matin et certaine touches fonctions sont associées à des logiciels parralles à EXCEL (Par Ex DM , Document Manager F12).... Donc pour eviter toute collision , je vais devoir employer une association de touches , " CTRL + F8 " par exemple , comment faire cette association ? , et cette dernière sera t'elle active sur tous les USF que je charge dans mon PRG , soit 14 en tout ?????
Ma " TRES CHERE " COLLEGUE RESPONSABLE DE LA QUALITE " de programmer CTRL P et CTRL R
les codes des touches P et R trouvés mais association avec CTRL pas resolu
Cordialement GDS35
 
Dernière édition:
Re : Execution un private sub si appui sur ESC

Bonjour,

Ci-joint un exemple qui fontionne avec CTRL+P et CTRL+R.
A priori, il faut que le code soit sur le controle qui a le focus !
Donc autant de code que de controles. Car si l'utisateur est sur une TexteBox il faut que ça fontionne aussi.
 

Pièces jointes

Dernière édition:
Re : Execution un private sub si appui sur ESC

Bonsoir le Forum , bonsoir Catrice ,

Ta solution marche formidablement bien , et je l'archive ss Pb .
Cependant je ne vais pouvoir le mettre en oeuvre dans mon Appli , car j'ai je ne sais combien D'usf et autant de Textbox ....... et je me vois mal , repercuter ton sur l'ensemble de l'appli. Je vais le faire sur le premier USF et Basta , un ce cap franchi , les utilisateurs , ne pourrons plus sortir , ne leur restera la solution d'aller au bout de l'appli et de ne pas sauvegarder. Surtout que cette Appli , je l'ai fais sur mon temps libre et ss demande Heures Sup , simplement pour le plaisir d'apprendre. Encore merci.
Cordialement A+ j'espère GDS35
 
Re : Execution un private sub si appui sur ESC

Rebonsoir a tous ,

J'ai oublié de poser une question que je ne trouve pas sur le web , ce sont les codes des touches lettres et chiffres en vba. ( Ex P = 16 R =18).
J'aimerais recupérer l'enseble des touches du clavier . J'ai peut être mal cherché pas trouvé.

Cordialement GDS35
 
Re : Execution un private sub si appui sur ESC

Re,

Pour la plupart des codes, tu tapes 1 en A1, 2 en A2, tu incrementes une serie jusqu'à 255
en B1 tu ecris =CAR(A1) et tu recopies.
Tu auras les codes.

Pour les combinaisons, la meilleure solution que j'ai trouvé c'est :

Private Sub UserForm_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
MsgBox KeyAscii
End Sub
 
Re : Execution un private sub si appui sur ESC

re bonsoir le forum , Catrice , encore Merci ,
Le code que tu m'a fourni , serait un marathon a mettre en oeuvre dans mon Prg dommage car il fonctionne a merveille . Dommage (et j'ai cherché) qu'on ne puisse l'nitialiser au chargement de la feuille dans THISWORKBOOK.

A+ Mon AMI bonne soirée GDS35
 
- 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