Fermeture automatique d'un fichier excel
gregminko
-
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
j'aimerai savoir comment je peux mettre une date à laquelle mon fichier ne prourra plus être ouvert que par un mot de passe.
En effet, j'ai un fichier de gestion de stock sous excel, je souhaiterai par exemple que le 30 d'un mois donné, l'utilisateur ne puisse plus avoir accés à ce fichier qui lui demandera un mot de passe pour ouverture. Je serai le seul à avoir ce mot de passe que je pourrai changer à ma guise.
merci d'avance!
j'aimerai savoir comment je peux mettre une date à laquelle mon fichier ne prourra plus être ouvert que par un mot de passe.
En effet, j'ai un fichier de gestion de stock sous excel, je souhaiterai par exemple que le 30 d'un mois donné, l'utilisateur ne puisse plus avoir accés à ce fichier qui lui demandera un mot de passe pour ouverture. Je serai le seul à avoir ce mot de passe que je pourrai changer à ma guise.
merci d'avance!
A voir également:
- Fermeture automatique d'un fichier excel
- Fichier bin - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier rar - Guide
- Liste déroulante excel - Guide
2 réponses
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?
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
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