Verrouiller par MDP et Login l'ouverture d'un xlsm

Looping38 Messages postés 91 Date d'inscription   Statut Membre Dernière intervention   -  
cs_Le Pivert Messages postés 8437 Statut Contributeur -
Bonjour,

Voilà ma question :
J'ai crée un tableur excel que je souhaite faire essayer à des utilisateurs.
Je connais la fonction Protéger le classeur par chiffrage qui me parait suffisante et empêche tout accès sans mot de passe.
Est-ce possible de limiter dans le temps cette fonction, et ensuite de rendre inaccessible le fichier à cet utilisateur?
Autre piste : que le mot de passe soit validé sur mon serveur à distance et que je le supprime après un certain temps ?

Merci pour vos idées et pistes de réflexion.

2 réponses

  1. cs_Le Pivert Messages postés 8437 Statut Contributeur 731
     
    Bonjour,

    Voici un exemple avec la base de registre:

    https://www.cjoint.com/c/HFomXe3ZabQ

    Il faut quand même savoir qu'avec Excel pour un spécialiste il est facile de contrer toutes sortes de protections. Mais pour un utilisateur lambda cela sera plus compliqué de trifouiller dans la base de registre!
    0
    1. cs_Le Pivert Messages postés 8437 Statut Contributeur 731
       
      Encore plus simple:

      https://www.cjoint.com/c/HFoqB2QDIbQ

      @+ Le Pivert
      0
  2. Looping38 Messages postés 91 Date d'inscription   Statut Membre Dernière intervention   1
     
    Bonjour et merci pour l'info.
    J'avais déjà vu le topic, mais le fichier ne s'ouvre pas...
    0
    1. cs_Le Pivert Messages postés 8437 Statut Contributeur 731
       
      A mettre dans ThisWorkbook

      Option Explicit
      Private Sub Workbook_BeforeClose(Cancel As Boolean)
       'remettre l'affichage d'un classeur s'il est ouvert alors que l'exécution
      'des macros est désactivée dans les options de sécurité
      ThisWorkbook.IsAddin = True
      End Sub
      Private Sub Workbook_Open()
      Dim nom As String
      nom = Left(ThisWorkbook.Name, InStrRev(ThisWorkbook.Name, ".") - 1) 'nom fichier sans l'extension
       'empêcher l'affichage d'un classeur s'il est ouvert alors que l'exécution
      'des macros est désactivée dans les options de sécurité
      ThisWorkbook.IsAddin = False
      If "24/06/2018" < Date Then 'mettre la date de dernière utilisation
      MsgBox "La date est dépassée!", vbCritical, nom
      ThisWorkbook.Close
      Else
      MsgBox "Il vous reste: " & DateDiff("d", #6/24/2018#, Date) & " jours", vbInformation, nom 'mettre la date de dernière utilisation
      End If
      End Sub
      
      


      voilà

      @+ Le Pivert
      0
    2. Looping38 Messages postés 91 Date d'inscription   Statut Membre Dernière intervention   1
       
      Bonjour Le Pivert et merci.
      J'ai peur que cette solution soit trop radicale pour ce que je veux en faire. En effet, la réactivation ne pouvant se faire à distance, l'utilisateur perdra toutes les données déjà saisies.
      L'idéal serait que je puisse mettre un fichier sur un serveur sur lequel les autorisation d'un utilisateur soient modifiable par moi uniquement.
      Je suppose que cela demande à mettre en place un Login/MDP avec test des réponses sur ce fichier.
      Cela me parait encore difficile à réaliser avec mes compétences.
      Merci quand même.
      0