Comment désactiver la touche Maj pendant l'ouverture d'un fichier Excel et autre question ?
2 réponses
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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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.
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" <claudetom@wanadoo.fr> a écrit dans le message de news:
43106c0e$0$17207$8fcfb975@news.wanadoo.fr...
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
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
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.
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.
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" <claudetom@wanadoo.fr> a écrit dans le message de news: 43106c0e$0$17207$8fcfb975@news.wanadoo.fr...
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
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