Aynahu : Date limite d'ouverture d'un fichier excel

aynahu

XLDnaute Nouveau
Bonjour.
voila je voudrait que après exp:10 jours le fichier demande un mot de passe à l'ouverture.
ouverture libre pendant 10 jours et au 11em jour avec un mot de passe .
est il possible ?
Merci.
 
C

Compte Supprimé 979

Guest
Re : Aynahu : Date limite d'ouverture d'un fichier excel

Bonjour aynahu

Oui c'est faisable, mais comme un fichier Excel n'est pas inviolable, je ne vois pas l'intérêt

Sinon le principe est décrire la date de la première ouverture dans la base de registre (par exemple)
Et à chaque ouverture, calculer l'écart entre la date du jour et celle du registre

Tu peux trouver tout ça sur ce forum, mais en cherchant ;)
 

MJ13

XLDnaute Barbatruc
Re : Aynahu : Date limite d'ouverture d'un fichier excel

Bonjour Aynahu, Bruno

Tu peux aussi au bout de 10 jours protéger l'ouverture du classeur avec un mot de passe. Il te faudra aussi protéger le code VBA avec un MDP.
 

MJ13

XLDnaute Barbatruc
Re : Aynahu : Date limite d'ouverture d'un fichier excel

Re

Mais comment je peux faire sella ça c'est ma question .

Le problème, il est la. Mais si tu ne maîtrise pas le VBA, cela me paraît difficile. A moins de faire tout le boulot. Déjà commence par utiliser l'enregistreur de macros. Et reviens avec ton code en expliquant bien ce que tu veux faire.

Et pourquoi veux-tu protéger ton classeur qui est une source d'ennui. Cela fait longtemps que je ne la fais plus. Je puis t'assurer que je ne perd jamais mes mots de passes.
 

job75

XLDnaute Barbatruc
Re : Aynahu : Date limite d'ouverture d'un fichier excel

Bonjour aynahu, Bruno, Michel,

Une macro très simple à placer dans ThisWorkbook (Alt+F11) :

Code:
Private Sub Workbook_Open()
If IsError([dat]) Then Me.Names.Add "dat", Date, Visible:=False
If Date > [dat] + 10 Then
  If InputBox("Mot de passe :") <> "TOTO" Then
    Me.Saved = True 'si le fichier a été modifié (liaisons, etc...)
    If Workbooks.Count = 1 Then Application.Quit Else Me.Close
  End If
End If
End Sub
La date de 1ère ouverture est stockée dans un nom défini masqué.

Comme l'a dit Michel, protéger le VBA.

A+
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Aynahu : Date limite d'ouverture d'un fichier excel

Bonjour aynahu, MJ13, job75,

Comme je m'étais penché dessus, un essai pour le fun et en beaucoup plus tordu que celui de job75.

Les mots de passe sont tous égaux à "tititoto" (verrouillage feuilles 'Info' et 'Info2', code et futur mot de passe du fichier)

Dans le code du module "Protection", deux contantes peuvent être changées:
  • DateLimite qui est la date après laquelle il faudra saisir un mot de passe
  • Mdp qui sera le mot de passe d'ouverture du fichier

Pour tester la date limite, remplacer DateLimite par 30/05/2013 ou par toute autre date inférieure à la date du jour.

Si l'utilisateur n'active pas les macros, alors le fichier affiche une feuille d'info.

Si l'utilisateur n'active pas les macros et supprime la feuille info, il n'aura quand même pas accès aux feuilles du classeur.

Quand la macro attribue un mot de passe après la date de validité, le fichier se referme et il faut l'ouvrir à nouveau.

nb: la protection est somme toute un peu 'illusoire'...

EDIT:
une erreur dans les valeurs initiales de ce fichier empêcher de mettre le mot de passe si la date limite était dépassée.
Voir fichier dans message suivant.
 
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Aynahu : Date limite d'ouverture d'un fichier excel

Bonjour à tous,

Une erreur d'initialisation bloquait la mise en place de mot de passe après la date limite (j'avais oublié la RAZ de la cellule A2 dans la Feuille Info2)
 

Pièces jointes

  • Test Date Limite v3.xlsm
    26.2 KB · Affichages: 163
Dernière édition:

job75

XLDnaute Barbatruc
Re : Aynahu : Date limite d'ouverture d'un fichier excel

Bonjour mapomme,

OK mais on arrive là à une usine à gaz.

Je propose cette autre solution, toujours dans ThisWorkbook :

Code:
Private Sub Workbook_Open()
If IsError([dat]) Then Me.Names.Add "dat", Date, Visible:=False
If Date > [dat] + 10 Then
  If IsError([protege]) Then
    Me.Names.Add "protege", 1, Visible:=False
    Me.Password = "TOTO"
    Me.Save
    Workbooks.Open Me.FullName
  End If
End If
End Sub
Normalement, pendant 10 jours, l'utilisateur aura pris l'habitude d'activer les macros puisque cela ne crée aucun problème.

Et le 11ème jour paf, on lui colle dans les pattes un mot de passe.

Ensuite, qu'on active ou non les macros, le mot de passe sera toujours demandé.

A+
 

job75

XLDnaute Barbatruc
Re : Aynahu : Date limite d'ouverture d'un fichier excel

Bonjour aynahu, le fil,

Touches Alt+F11 pour aller dans VBA.

Ensuite dans l'Explorateur de projets à gauche, double-clic sur ThisWorkbook.

Et y coller la macro.

A+
 

Discussions similaires

Réponses
46
Affichages
886

Statistiques des forums

Discussions
312 368
Messages
2 087 654
Membres
103 630
dernier inscrit
Azashoriu