Code d'accès sur chaque feuille Excel

Bonjour,

Dans mon fichier Excel qui représente le calendrier 2021 des heures travaillées des salariés, j’ai une feuille par professionnel afin de faire la synthèse mois par mois.
Chaque feuille est nominative.
Je souhaite que les professionnels ne voient pas les feuilles des autres collègues et que la feuille s’ouvre avec un code.(Et que toutes les feuilles s’ouvrent avec un autre code pour la responsable)
J’ai vu une macro qui me permettait de mettre ce système en place mais impossible de l’appliquer.
Avez vous une idée pour m’aider?

https://mon-partage.fr/f/Jw6p8Ogj/

Configuration: Windows / Edge 85.0.564.51

4 réponses

  1. Bonjour,

    J’ai vu une macro qui me permettait de mettre ce système en place
    Ben oui, elle est ou?

    Suite:
    Pas Grave, regardez ici, vous avez ce qu'il vous faut:
    https://www.commentcamarche.net/faq/37104-vba-excel-mot-de-passe-et-utilisateurs
    0
    1. Re,

      voici un premier fichier, à tester.

      Le mot de passe est MDP

      https://mon-partage.fr/f/9xKFFku3/
      0
      1. Quand je teste, j'ai un message d'alerte: "erreur d'exécution 9" et me propose un Débogage mais ca ne fonctionne pas quand même.
        0
    2. à quel moment il y a une erreur ?

      Alt+F11 pour ouvrir l'éditeur ou clic droit sur l'onglet accueil et "visualiser le code"
      0
      1. Quand je tape mon mon de passe, j'ai la page Visual Basic qui s'ouvre avec le message d'erreur.
        J'appuie sur Débogage et "Sheets("Salarié 1").Visible = True" se met en jaune et ainsi de suite.
        0
      2. @AuroreTu as renommé les onglets ?!
        0
    3. Non, j'ai testé ton fichier.
      J'ai rencontré le même problème hier en essayant une autre macro:

      Private Sub Workbook_Open()

      'Déclaration des variables
      Dim i As Integer
      Dim MonPassword As Variant

      'Afficher la feuille calendrier dès l'ouverture du classeur
      Worksheets("calendrier").Activate

      'On va faire une boucle permettant de masquer toutes les autres feuilles
      For i = 1 To Sheets.Count - 1
      Sheets("User " & i).Visible = False
      Next i

      'On va récupérer le code ou mot de passedans une boite de type InputBox
      MonPassword = InputBox("Veuillez entrer votre mot de passe pour accéder à votre feuille :", "Identification")

      'On va réaliser les différents test

      If MonPassword = "1234" Then

      Sheets("User 1").Visible = True
      Worksheets("User 1").Select
      Range("A1").Select

      End If

      If MonPassword = "3820" Then

      Sheets("User 2").Visible = True
      Worksheets("User 2").Select
      Range("A1").Select

      End If

      'Ouvrir toutes feuilles si mot de passe administrateur
      If MonPassword = "2812" Then

      For i = 1 To Sheets.Count
      Sheets("User " & i).Visible = True
      Next i

      End If

      End Sub

      Y'a sans doute quelque chose que je ne fais pas bien

      PS: j'avais bien nommé mes feuilles comme ci dessus
      0
      1. Cela vient peut-être de ta version Office.

        Quel est ton type d'Excel ?
        0
      2. @Yoyo01000Excel 2016

        Ca peut être ca le problème?
        0
      3. @AuroreLe fichier que tu as partagé tout à l'heure était en .xls (version antérieur d'Excel)

        Je suis moi-même sur Office 2016 et aucun bug !
        0
      4. @Yoyo01000Je vais essayer sur un autre ordinateur et te tiens au courant.

        Un grand merci pour ta patience
        0