Fermeture automatique d'un fichier excel
Fermé
gregminko
-
13 oct. 2011 à 00:35
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 13 oct. 2011 à 13:28
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 13 oct. 2011 à 13:28
A voir également:
- Fermeture automatique d'un fichier excel
- Fichier rar - Guide
- Liste déroulante excel - Guide
- Fichier host - Guide
- Fichier iso - Guide
- Comment réduire la taille d'un fichier - Guide
2 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 744
13 oct. 2011 à 10:00
13 oct. 2011 à 10:00
Bonjour,
Quel est le rapport entre le titre du sujet (Fermeture automatique d'un fichier excel) et la question : j'aimerai savoir comment je peux mettre une date à laquelle mon fichier ne prourra plus être ouvert que par un mot de passe.
En gros que souhaitez vous faire :
1- que ce fichier, le 30 de chaque mois et uniquement le 30 ne soit consultable que grâce au mot de passe?
2- Qu'à compter du 30 novembre 2011 et ce jusqu'à la fin de son utilisation, ce fichier ne soit plus consultable que grâce au mot de passe?
Quel est le rapport entre le titre du sujet (Fermeture automatique d'un fichier excel) et la question : j'aimerai savoir comment je peux mettre une date à laquelle mon fichier ne prourra plus être ouvert que par un mot de passe.
En gros que souhaitez vous faire :
1- que ce fichier, le 30 de chaque mois et uniquement le 30 ne soit consultable que grâce au mot de passe?
2- Qu'à compter du 30 novembre 2011 et ce jusqu'à la fin de son utilisation, ce fichier ne soit plus consultable que grâce au mot de passe?
H_sergio
Messages postés
185
Date d'inscription
mardi 27 avril 2010
Statut
Membre
Dernière intervention
29 février 2016
7
Modifié par H_sergio le 13/10/2011 à 10:32
Modifié par H_sergio le 13/10/2011 à 10:32
bonjour , j'ai ça , si ça peut aider
Sub auto_open()
Call barrage
End Sub
-----------------------
Sub barrage()
'inserer la feuil2 , elle permet de ne pas voir le fichier , elle peut avoir d'autre nom
Sheets("Feuil2").Select
ma_date = Now
MyDay = Day(ma_date)
mon_jour = MyDay
'attention au mois de février , il faudra penser à marquer 28 ou 29
If mon_jour = 30 Then
réponse1 = InputBox("nous sommes le 30 du mois , vous ne pouvez plus accéder au fichier sans le code ! , veuillez le saisir svp !")
'votre code perso
If réponse1 = "essai22" Then
' la feuil1 est le fichier proprement dit , donc remplacer le nom de votre fichier
Sheets("Feuil1").Select
Exit Sub
Stop
Else
MsgBox "vous n'êtes pas habilité pour acceder au fichier"
Application.Quit
Exit Sub
Sub auto_open()
Call barrage
End Sub
-----------------------
Sub barrage()
'inserer la feuil2 , elle permet de ne pas voir le fichier , elle peut avoir d'autre nom
Sheets("Feuil2").Select
ma_date = Now
MyDay = Day(ma_date)
mon_jour = MyDay
'attention au mois de février , il faudra penser à marquer 28 ou 29
If mon_jour = 30 Then
réponse1 = InputBox("nous sommes le 30 du mois , vous ne pouvez plus accéder au fichier sans le code ! , veuillez le saisir svp !")
'votre code perso
If réponse1 = "essai22" Then
' la feuil1 est le fichier proprement dit , donc remplacer le nom de votre fichier
Sheets("Feuil1").Select
Exit Sub
Stop
Else
MsgBox "vous n'êtes pas habilité pour acceder au fichier"
Application.Quit
Exit Sub
H_sergio
Messages postés
185
Date d'inscription
mardi 27 avril 2010
Statut
Membre
Dernière intervention
29 février 2016
7
13 oct. 2011 à 11:12
13 oct. 2011 à 11:12
j'espère que ce n'est pas moi qui ait fait planté le site : milles excuses !!!
je voulais ajouter que cette macro doit être installée dans un module pour pouvoir fonctionner en auto open
je voulais ajouter que cette macro doit être installée dans un module pour pouvoir fonctionner en auto open
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 744
13 oct. 2011 à 11:26
13 oct. 2011 à 11:26
Bonjour tout le monde,
Bonjour H_sergio,
Que se passe t'il, avec ta méthode, si l'utilisateur ouvre le fichier sans activer les macros?
Bonjour H_sergio,
Que se passe t'il, avec ta méthode, si l'utilisateur ouvre le fichier sans activer les macros?
H_sergio
Messages postés
185
Date d'inscription
mardi 27 avril 2010
Statut
Membre
Dernière intervention
29 février 2016
7
13 oct. 2011 à 13:05
13 oct. 2011 à 13:05
et bien effectivement , mon système tombe à l'eau
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 744
13 oct. 2011 à 13:28
13 oct. 2011 à 13:28
Donc en fait, il faut 2 choses :
I- à l'ouverture du classeur (Workbooks_Open) :
1- masquer toutes les feuilles "utiles" du classeur (avec la propriétés de WorkSheets visible = xlveryhidden pour que l'on ne puisse pas les afficher avec la commande Format//Afficher)
2- Vérifier la date
3- selon le test de 2- demander ou pas un mot de passe.
II- A la fermeture du classeur (WorkBooks_before_close) :
1- masquer toutes les feuilles "utiles" du classeur (avec la propriétés de WorkSheets visible = xlveryhidden pour que l'on ne puisse pas les afficher avec la commande Format//Afficher)
2- Enregistrer
Le problème étant qu'un enregistrement automatique est source de multiples coquilles......
ci-joint un classeur exemple
Avec ce code :
I- à l'ouverture du classeur (Workbooks_Open) :
1- masquer toutes les feuilles "utiles" du classeur (avec la propriétés de WorkSheets visible = xlveryhidden pour que l'on ne puisse pas les afficher avec la commande Format//Afficher)
2- Vérifier la date
3- selon le test de 2- demander ou pas un mot de passe.
II- A la fermeture du classeur (WorkBooks_before_close) :
1- masquer toutes les feuilles "utiles" du classeur (avec la propriétés de WorkSheets visible = xlveryhidden pour que l'on ne puisse pas les afficher avec la commande Format//Afficher)
2- Enregistrer
Le problème étant qu'un enregistrement automatique est source de multiples coquilles......
ci-joint un classeur exemple
Avec ce code :
Option Explicit Private Sub Workbook_BeforeClose(Cancel As Boolean) Dim Wsh As Worksheet For Each Wsh In ThisWorkbook.Worksheets If Wsh.Name <> "Feuil2" Then Wsh.Visible = xlVeryHidden End If Next ActiveWorkbook.Save End Sub Private Sub Workbook_Open() Dim Wsh As Worksheet Dim Motdepass As String Dim Cpt As Byte For Each Wsh In ThisWorkbook.Worksheets If Wsh.Name <> "Feuil2" Then Wsh.Visible = xlVeryHidden End If Next 'test si date 'demande mot de passe For Cpt = 1 To 3 Motdepass = InputBox("Saisie : ", "Mot de passe") If Motdepass = "toto" Then Exit For Next If Motdepass = "toto" Then For Each Wsh In ThisWorkbook.Worksheets Wsh.Visible = True Next Else MsgBox "3 mauvais password, l'application va fermer" Application.Quit End If End Sub