Niveaux de sécurité & expiration de sessions sur un classeur
Bonjour à tous !
Voilà, mon boulot fait que j'ai dû recourir à VBA pour réaliser un outil de gestion de production. J'en suis à quelques mois d'expérience pour le moment sur VBA (grâce entre autres aux forums comme celui-ci, je profite donc de mon 1er post pour dire merci
Mais revenons à nos moutons, mon soucis actuel est que cet outil, une fois qu'il sera finalisé, sera à la merci de n'importe quel personne.
Ce que je souhaite donc c'est d'inclure plusieurs niveaux de sécurité (listés ici du plus petit au plus haut) :
Niveau 0 : Pas de protection ni pour les cellules, ni les macros - Pour moi
Niveau 1 : Protection de toutes les cellules mais possibilité de les modifier uniquement via macro - Pour les utilisateurs
Niveau 2 : Protection complète des cellules et des macros - Pour le reste des personnes
J'ai pensé à programmer des sortes de sessions, où on aura à entrer un mot de passe, et en fonction de ce dernier, on pourra débloquer les différents niveaux de sécurité.
J'ai par ailleurs réussi pour le moment à programmer le niveau 1 mais j'ai du mal avec le verrouillage des macros étant donné que :
- Mes macros sans en raccourcis dans le ruban supérieur (onglet personnalisé)
- Une macro qui déverrouille/verrouille les macros est un peu paradoxale (à moins qu'il soit possible de cibler les macros à bloquer/débloquer)
Je souhaite également qu'il soit possible que la session en cours expire quand on dépasse 15 minutes d'inactivité et que donc on revient à l'état "par défaut", qui est le niveau 2.
J’ai trouvé quelques éléments de réponses sur ce site mais malheureusement je n'arrive pas à le faire marcher (peut-être c'est parce que j'utilise déjà Application.OnTime pour simuler une horloge)
Pour résumer donc je cherche à :
- Inclure des sessions sous mot de passe qui permettent d'atteindre des niveaux de sécurité du classeur différents
- Cibler les macros à verrouiller (que les boutons du ruban se grisent par exemple)
- Ajouter une possibilité que la session expire automatiquement après 15 min d'inactivité
J'espère que j'étais bien clair ^^
Merci d'avance pour vos réponses !