Classeur partagé & protection

Bonjour bonjour

Me voilà confronté à un problème sur un terrain inconnus

Mon problème : j'ai un classeur utilisant du VBA que je souhaite partagé, j'ai fait des testes et jusque là tout va bien. Cependant j'ai du retirer du code les lignes de code qui protègent le document. (J'utilisais le protection du classeur pour empêcher l'affichage d'onglets contenant des données confidentielles). Le soucis est que je ne peux plus protéger le classeur pour empêcher l'affichage des onglets ! Comment faire ?

Complément d'explication : Une partie de mon code VBA permet d'identifier un utilisateur l'ors de l'ouverture du fichier à l'aide d'un identifiant et un mot de passe. En fonction du compte utilisé le code VBA permet d'afficher certains onglet. De plus je ne veux pas protéger les feuilles car j'utilise un style de formulaire pour ajouter des données à ces feuilles. Sachant qu'il n'est pas possible d'utiliser du code VBA pour protéger ou retirer la protection d'une feuille en mode partagé.

Ce que j'ai constaté : Les options disponibles dans le partage permettent de protéger des feuilles ou des plages par un mot de passe. Il est aussi possible de protéger le classeur. Mais dans ses deux cas de figures, si un onglet est masqué, il est tout à fait possible de faire une clique droit pour afficher les autres onglets !!!

Bref, je tourne en rond et je ne trouve de solution nul part... Par avance, merci de l’intérêt porté à ce sujet

Je répond à mon propre poste, à défaut de pouvoir protéger mon classeur en mode partagé pour empêcher l'affichage de certains onglets je suis passé par la commande Feuil(x).xlSheetVeryHidden. Ça fonctionne très bien, je n'ai aucuns beugue et le code VBA écrit et va chercher les données sans problème !

Bonjour,

lorsqu'une feuille est définie comme masquée par VBA il n'est pas possible de l'afficher manuellement, il faut repasser par du VBA pour le faire.

Pourquoi ne pas utiliser cette procédure pour afficher ou masquer les onglets en fonction des utilisateurs sachant qu'il ouvrent le fichier avec login et mdp

la procédure pour masque la feuille

Sheets("Feuil1").Visible = 2

pour la ré-afficher

Sheets("Feuil2").Visible = -1

Cordialement

Bonjour et merci du retour

J'utilisais déjà cette procédure, si tu fais des essaies tu verras que si tu rend une veuille invisible en utilisant Sheets(x).Visible=False il est tout à fais possible de l'afficher à nouveau manuellement directement sur le classeur sans passer par du VBA !

Du coup j'ai utilisé la fonction Sheets(x)=xlSheetVeryHidden car là, dans ce cas là tu ne peux pas l'affiché manuellement

Re,

effectivement, ce code

Sheets("Feuil2").Visible = False

n'empêche pas le ré-affichage de la feuille manuellement, un FALSE équivaut à un 0

par contre celui-ci

Sheets("Feuil2").Visible = 2

étant un équivalent de

Sheets(x)=xlSheetVeryHidden

on ne peux pas ré-afficher manuellement l'onglet masqué

Cordialement

Rechercher des sujets similaires à "classeur partage protection"