Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comment désactiver la touche Maj pendant l'ouverture d'un fichier Excel et autre question ?

2 réponses
Avatar
Claudetom
Bonjour,

Y'a t-il un moyen de désactiver la touche MAJ pendant l'ouverture d'un
fichier Excel ?
Car si l'utilisateur ouvre un fichier en maintenant cette touche appuyée,
cela désactive l'affichage d'un formulaire de saisie de mot de passe pour
l'affichage ou non des feuilles du classeur.

2eme question j'utilise la fonction :
Application.OnTime Now + TimeValue("00:00:05"), "fermer" pour fermer
l'application au bout de 5 secondes si l'utilisateur n'a pas indiqué le mot
de passe au travers d'un formulaire qui s'ouvre au lancement du fichier.
Par contre comment arrêter cette fonction si l'utilisateur ouvre le
formulaire de changement de mot de passe (qui s'ouvre par combinaison de
touche sur le 1er formulaire d'ouverture) ?
j'ai mis cela mais ca inhibe pas la fonction tout se ferme au bout de 5
secondes.
Application.OnTime Now + TimeValue("00:00:05"), "fermer", False

Merci

Sous Excel 2003.

2 réponses

Avatar
LSteph
Bonjour,
1
si l'utilisateur désactive les macros à l'ouverture, il n'aura pas besoin de
la touche maj!
protège l'ouverture du classeur avec un vrai mot de passe excel d'abord (et
protège aussi ton code)
et tu,
mets toutes feuilles sauf une visible=xlverihidden dans le
workbook_beforesave du classeur
ensuite tu t'arranges pour ne réafficher les pages par le workbook_open que
lorsque l'utilisateur aura répondu à ton formulaire
et masquer la feuille nommée "Avertissement". Pour ce masquage voici le
principe (sans mot de passe):
'****
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)

Dim sh As Worksheet

With Application
.enablecancelkey=true
.ScreenUpdating = False

Worksheets("Avertissement").Visible = True
For Each sh In ThisWorkbook.Sheets
If sh.Name <> "Avertissement" Then sh.Visible = xlVeryHidden
Next

.ScreenUpdating = True
End With


End Sub

Private Sub Workbook_Open()
Dim sh As Worksheet
Application.enablecancelkey=true

For Each sh In ThisWorkbook.Sheets
sh.Visible = True
Next
Worksheets("Avertissement").Visible = xlVeryHidden

End Sub
'****

Sinon il doit toujours y avoir un truc en mieux fourni par MichDenis là:
http://cjoint.com/?ipoOwrciQ0

2
Une fois le ontime lancé, .... il est lancé.
tu peux peut -être laisser plus que 5 secondes et au pire en lancer un
second qui rouvre le classeur
mais si tu applique ce que je te suggère en 1 pas besoin.



lSteph

"Claudetom" a écrit dans le message de news:
43106c0e$0$17207$
Bonjour,

Y'a t-il un moyen de désactiver la touche MAJ pendant l'ouverture d'un
fichier Excel ?
Car si l'utilisateur ouvre un fichier en maintenant cette touche appuyée,
cela désactive l'affichage d'un formulaire de saisie de mot de passe pour
l'affichage ou non des feuilles du classeur.

2eme question j'utilise la fonction :
Application.OnTime Now + TimeValue("00:00:05"), "fermer" pour fermer
l'application au bout de 5 secondes si l'utilisateur n'a pas indiqué le
mot de passe au travers d'un formulaire qui s'ouvre au lancement du
fichier.
Par contre comment arrêter cette fonction si l'utilisateur ouvre le
formulaire de changement de mot de passe (qui s'ouvre par combinaison de
touche sur le 1er formulaire d'ouverture) ?
j'ai mis cela mais ca inhibe pas la fonction tout se ferme au bout de 5
secondes.
Application.OnTime Now + TimeValue("00:00:05"), "fermer", False

Merci

Sous Excel 2003.




Avatar
michdenis
Bonjour ClaudeTom,

En plus de l'excellent fichier que t'a reféré Steph, ;-)

Tu peux utiliser un VBScrpit pour ouvrir ton fichier

Tu inscrit ce texte en modifiant le chemin et le nom du fichier pour ton application, et tu l'enregistre dans l'application NotePad
sous le nom que tu désires mais avec l'extension VBS

Dim Xl
Set Xl = WScript.CreateObject("EXCEL.application")
Xl.Visible = True
Xl.enableeventsúlse
set Wk = Xl.workbooks.open("c:tonfichier.xls")
Xl.enableevents=true



Si tu ouvres ton fichier à l'aide d'une macro dans Excel 2002 ou 2003, tu peux utiliser ceci :
Application.EnableEvents = False
Workbooks.Open "c:MonFichier.xls"


Si tu as une version excel plus ancienne que 2002, tu peux essayer ceci:
Doevents
Workbooks.Open "c:MonFichier.xls"



Salutations!




"Claudetom" a écrit dans le message de news: 43106c0e$0$17207$
Bonjour,

Y'a t-il un moyen de désactiver la touche MAJ pendant l'ouverture d'un
fichier Excel ?
Car si l'utilisateur ouvre un fichier en maintenant cette touche appuyée,
cela désactive l'affichage d'un formulaire de saisie de mot de passe pour
l'affichage ou non des feuilles du classeur.

2eme question j'utilise la fonction :
Application.OnTime Now + TimeValue("00:00:05"), "fermer" pour fermer
l'application au bout de 5 secondes si l'utilisateur n'a pas indiqué le mot
de passe au travers d'un formulaire qui s'ouvre au lancement du fichier.
Par contre comment arrêter cette fonction si l'utilisateur ouvre le
formulaire de changement de mot de passe (qui s'ouvre par combinaison de
touche sur le 1er formulaire d'ouverture) ?
j'ai mis cela mais ca inhibe pas la fonction tout se ferme au bout de 5
secondes.
Application.OnTime Now + TimeValue("00:00:05"), "fermer", False

Merci

Sous Excel 2003.