Accès bouton (lien hypertexte vers un autre classeur) suivant utilisateur

Bonjour à tous

J'ai créé des boutons avec liens hypertexte pour accéder à d'autres classeurs excel.

J'aimerai que selon l'utilisateur tel ou tel bouton puisse fonctionner ou pas (sans mot de passe)

Merci pour votre aide

Bonjour,

Il y a plusieurs possibilités mais elles dépendent du type de bouton (formulaire / activex), c'est pour cela qu'un fichier exemple (anonymisé mais représentatif) serai le bienvenu.

Au niveau du profil, si vous pouvez préciser la version d'excel (2019, 365, ...) et l'environnement (mac / windows) ce serait bien, ça peut aussi conditionner les réponses.

Bonjour

image

Ce sont des boutons avec des liens hypertexte renvoyant vers d'autres classeurs Excel

J'aimerai que chaque bouton soit verrouillé sauf pour certains utilisateurs en fonction du bassin.

J'ai donc réalisé ces boutons sur une version excel 2016 sous windows

Merci pour votre aide

Bonjour,

Les boutons sont quel type d'objet ? des formes, contrôle activex, ...

Sinon une solution :

  • Comme il n'y a que 5 boutons à gérer pourrait être d'avoir un tableau de 6 colonnes (user, bouton 1, ... bouton 5) renseigné avec les user et Oui / Non pour les colonnes boutons.
  • De coder l'accès dans l'événement Workbook_Open. Parcours du tableau des user pour vérifier si le user est référencé (s'il ne l'est pas que fait-on ...) et si oui lui interdire ou non l'accès au bouton. L'interdiction de l'accès pouvant se matérialiser de manière différente suivant le type de bouton ...

Si vous voulez une participation plus active , il faudrait que vous envoyez le fichier réduit à la page menu et aux feuilles concernées vidées de tout contenu.

Bonjour Cylfo

Voici mon classeur

20source.xlsx (113.13 Ko)

Merci pour votre aide

Bonjour GregExcel,

J'ai ajouté une colonne "Code USER" dans le tableau des utilisateurs, il faudra la renseigner avec le nom du compte windows que les personnes utilises pour se connecter. Les feuilles et le code sont protégés par un même mot de passe "GregExcel".

Quand tu ouvriras le classeur aucun bouton ne sera accessible. Il faudra que tu complètes le tableau avec ton code utilisateur windows après avoir déprotégé la feuille "LISTE USER". Tu refermes le classeur, il s'auto-sauvegarde, tu le rouvres, tu devrais avoir les 5 boutons accessibles.

  • A l'ouverture du classeur, si les personnes activent les macros une recherche est effectuée et les boutons sont rendus accessibles en fonction des droits que tu auras attribués. S'ils n'activent pas les macros, les boutons sont masqués. Si la personne n'est pas identifié, un message "Utilisateur non autorisé ..." est affiché mais je ne referme pas le classeur, tu me diras si tu veux soit un autre message soit que le classeur se referme.
  • A la fermeture du classeur, si le classeur n'est pas ouvert en lecture seule, les boutons sont masqués, les feuilles reprotégées et le classeur est enregistré.
  • Si tu veux modifier le mot de passe (fais une sauvegarde du fichier avant ) :
    • tu dois commencer par accéder à l'éditeur VB (Alt+F11)
    • dans la fenêtre "Projet" (Ctrl+R si elle n''est pas visible), clic sur le projet "VBAProject(source.xlsm)", indiques le mot de passe dans la boîte de dialogue
    • double clique sur le module "ThisWorkbook" pour afficher le code
    • Modifies la ligne Const PSWD_GE = "GregExcel" en indiquant le nouveau mot de passe à la place de GregExcel en conservant les guillemets de part et d'autre du mot de passe
    • dans la fenêtre projet, clic droit sur "VBAProject(source.xlsm)", menu "propriétés de VBAProject ...", onglet "Protection", renseignes et confirmes le nouveau mot de passe et OK
    • dans Excel, tu déprotèges les feuilles "LISTE USER" et "ACCUEIL" et tu fermes le classeur. Tu n'as pas besoin de les reprotéger, ce sera fait automatiquement à la fermeture).

Je crois avoir fait le tour, je te laisse tester et voir si cela te convient.

27source.xlsm (124.94 Ko)

BRAVO ET MERCI

C'est vraiment parfait

Est-il possible de laisser visible les 5 boutons même si l'utilisateur n'a pas l'accès- et simplement en cliquant d'avoir un message "accès refusé"?

Merci encore une fois

Voir version ci-jointe. Tu peux tester l'accès aux fichiers car j'ai dû supprimer les liens hypertexte et l'ouverture des fichiers est dans la macro, je n'ai pas de moyen de tester car les liens ne m'étant pas accessible ça ne fonctionnait ni avant ni après.

Si cela fonctionne je te documenterai les modifications.

24source2.xlsm (127.94 Ko)

Bonjour Cylfo

Merci encore, cela fonctionne très bien sur votre fichier.

J'ai fait les modifications dans mon fichier mais je dois omettre de faire une manipulation pour que cela fonctionne.

GregExcel

Si c'est possible, le plus simple serait de reprendre la feuille "Accueil" du fichier que je vous ai transmis, cela vous évitera les manips suivantes. Sinon, au niveau de votre feuille :

  1. Supprimer les liens hypertextes des 5 boutons
  2. Dans le menu "Accueil", "Rechercher et sélectionner", "Volet sélection ..."
  3. Pour chaque bouton, renommer (voir copie d'écran ci-dessous) :
    1. la zone texte en "BTN" + n° du bouton sur 2 caractères + "_ZT"
    2. la forme "rectangle coin arrondi ..." en "BTN" + n° du bouton sur 2 caractères + "_RCA"

La macro utilise le n° qui suit "BTN" pour déterminer le fichier à ouvrir s'il est accessible à l'utilisateur. Les fichiers sont déclarés en constantes au début du module "Module1"

image

Merci j'ai fait la manipulation

Si je ne donne pas l'accès aux 2 premiers boutons, j'ai bien un message "Accès au fichier refusé"

Je n'arrive cependant plus à ouvrir les fichiers liés aux boutons dont j'ai l'accès

Tu peux envoyer une copie de ton fichier ? s'il y a d'autres onglets, que "ACCUEIL" et "LISTE USER" tu peux les supprimer.

Voici (mdp: CADRE°

8source-1.xlsm (127.05 Ko)

Il y avait une coquille dans le code ...

Cela fonctionne mieux ?

14source-1b.xlsm (127.12 Ko)

Super merci beaucoup

!

N'oublies pas de clôturer le sujet.

Rechercher des sujets similaires à "acces bouton lien hypertexte classeur suivant utilisateur"