IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Conception Discussion :

proteger un classeur complet à l'écriture


Sujet :

Conception

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Septembre 2009
    Messages : 83
    Points : 39
    Points
    39
    Par défaut proteger un classeur complet à l'écriture
    Bonjour,

    Je voudrais savoir s'il est possible de verrouiller un classeur excel complet à l'écriture avec possibilité de le débloquer avec un code qui serait demandé lorsque que l'on cliquerai sur une cellule.
    Je sais qu'il est possible de bloquer feuille par feuille mais l'inconvénient et que je dois débloquer chaque feuille indépendamment ce qui est assez gênant lorsque je le modifie.
    A savoir que j'ai des boutons vba et des liens hypertextes qui doivent rester fonctionnel. Et je voudrais peut-être par la suite ajouté une feuille qui elle soit accessible à l'écriture. J'espère que mon explication est assez claire et vous remercie par avance de vos réponse.

  2. #2
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Bonjour

    Le plus simple ne serait-il pas de le protéger avec mot de passe lors de l'enregistrement?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Septembre 2009
    Messages : 83
    Points : 39
    Points
    39
    Par défaut
    ceci serait très intéressant mais poserait un problème si je rajoute une feuille qui elle pourrait-être accessible, je suis impressionné par la rapidité de ta réponse et te remercie.

  4. #4
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Lorsque tu protèges un classeur lors de l'enregistrement, tu peux interdire toute modification. Il faudra alors ouvrir le classeur avec mot de passe pour pouvoir apporter la moindre modification dedans.

    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Septembre 2009
    Messages : 83
    Points : 39
    Points
    39
    Par défaut
    Merci de ta réponse, j'ai dut mal m'exprimer en faite je veux protéger tout mon classeur à l'écriture sauf une feuille qui elle pourra être modifié
    merci de tes réponses.
    Je vais abuser un peu lorsque je cache des onglets sur ma feuille je voudrais pour les faire réapparaitre insérer un mot de passe et je voulais savoir ou se trouvais cette fonction (cacher les onglets) sous excel 2003. je dois vraiment passer pour un vrais casse bonbon et débutant...je vous remercie d'avance

  6. #6
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Alors, je pense qu'il n'y a effectivement pas d'autre choix que de protéger chaque feuille, sauf une...

    Cela peut se faire par code (non testé)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    dim Feuille as object ' pour protéger aussi les graphes
     
    for each feuille in sheets
        if feuille.codename<>"NomDeLaFeuilleLaisseeLibre" then feuille.protect
    en ajoutant éventuellement le mot de passe.

    Sinon, détaille avec précision ce que tu souhaites verrouiller, libérer, par quelle manipulation...
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Septembre 2009
    Messages : 83
    Points : 39
    Points
    39
    Par défaut
    Je vais essayer ton code, mais je voudrais savoir ou mettre le mot de passe et faut-il que je le tape dans "thisworbook"??
    Sinon je veux tous bloquer sauf les boutons vba, les liens hypertextes et la feuille nommée "suggestion", y-a-t-il des choses à modifier dans ton code??
    Je souhaite aussi caché 2 feuilles nomées "essais" et "à suivre" qui ne pourront-être débloquer que par mot de passe.
    note:par contre au boulot je bosse sous excel 2003 et je ne trouve pas la fonction "cacher l'onglet"
    merci beaucoup pour ta réponse

  8. #8
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Ta version d'Excel?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Septembre 2009
    Messages : 83
    Points : 39
    Points
    39
    Par défaut
    la version que j'utilise chez moi pour faire mais fichier est 2007 que je trouve plus agréable à utiliser, mais au boulot il n'on que la version 2003

    J'ai essayé de taper ton code mais là je patoge, impossible de mettre un code, je m'arrache les cheveux

    est-ils plus simple de proteger un onglet par mot de passe?? qui me serait demandé quand je cliquerai sur l'onglet protégé

    Merci beaucoup de vos réponse

  10. #10
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Je pense qu'avant toute chose, tu dois définir ce que tu souhaites réaliser. Tout est possible, ou presque, avec VBA en tout cas.

    Lorsque tu as décidé de ce que tu veux faire, alors on peut t'aider autrement qu'en errant d'une solution à l'autre, au gré de tes changements.

    Pour décider ce que tu souhaites réaliser, il faut connaître un peu les possibilités de protection. On va parler de la version 2003, puisque ce sera celle de la production.

    Onglets: Par défaut, la propriété verrouillée des cellules est cochée. Lorsque tu protégeras la feuille, les cellules "verrouillées" ne peuvent être modifiées. L'option "Masquée" permet également de les masquer, lorsque la protection de la feuille est active.

    Remarque que l'onglet est visible et activable. Pas question, ici, de masquer l'onglet via la protection de la feuille, ni de le rendre désactivé.

    La protection du classeur permet de verrouiller la structure, c'est-à-dire principalement la gestion des onglets. Un classeur dont la structure est protégée ne permet plus l'ajout, la suppression, le renommage, l'affichage et le masquage, la modification de l'ordre des feuilles...
    Si en plus, la case "fenêtres" est cochée, tu ne sais plus créer de nouvelles fenêtres sur ce classeur.

    La protection du classeur à l'ouverture (lecture et/ou modification) permet de s'assurer que ce classeur ne peut être lu ou modifié.
    L'interdiction de lecture ne permet l'ouverture du classeur qu'après saisie du mot de passe. Sans mot de passe, pas question d'ouvrir le classeur. Si tu protèges les modifications, tu pourras ouvrir le classeur en lecture seule.
    Attention! Cela voudra dire que tu pourras faire des modifications, mais tu devras alors sauver sous un autre nom.

    Voilà les façons de protéger un classeur. Toute autre solution (masquer les feuilles et les afficher par mot de passe, protéger des celllules par mot de passe, ...) passe par du vba.

    En fonction de ce que je t'ai dit sur la protection, vois ce que tu souhaites réaliser, exprime-le en français, et nous pourrons t'aider à le mettre en place.

    Bon courage.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Septembre 2009
    Messages : 83
    Points : 39
    Points
    39
    Par défaut
    Bonjour Mr Pierre Fauconnier et à toutes les personnes de ce forum,

    Après une réflexion approfondie, j'aimerai que certains onglets de ma feuille excel ne soient accessibles que par mot de passe, c'est-à-dire, j'aimerai que lorsqu'on clique sur un onglet, un mot de passe me soit demandé pour y accéder. De plus j'aimerai qu'il soit possible de protéger les onglets souhaités avec des mots de passes différents si cela est possible bien sur.
    Merci par avance de vos réponses et désolé pour mes erreurs de débutant.

  12. #12
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 696
    Points
    6 696
    Par défaut
    Bonjour,

    Ce nouveau sous-forum porte bien son nom, la vraie question serait peut-être ici de ne pas répondre par une technique précise, mais par une approche donnée.

    Donc que tu définisses tes motivations, que les réponses t’aident à cadrer le manière de les combler et de passer sur les sous-forum techniques pour résoudre tes blocages éventuels.


    Possibilité de vba ou non ?

    j'aimerai que lorsqu'on clique sur un onglet, un mot de passe me soit demandé pour y accéder. De plus j'aimerai qu'il soit possible de protéger les onglets souhaités avec des mots de passes différents si cela est possible bien sur.
    Oui, mais ici, le mieux serait de savoir dans quel but ?

    Si c’est orienté gestion de données, le mieux est peut-être de ne pas donner d’accès au classeur du tout et de tout piloter avec des Userfoms, si un utilisateur doit pouvoir mettre en forme, filtrer, bidouiller des états une extraction de données subordonnée ou non à un mot de passe peut faire l’affaire.

    Sinon il peut y avoir des feuilles « trèscachées » qui ne seront révélées à un utilisateur donné que via un mot de pasee (vba).

    Penser aussi à gérer la possibilité des changement des mots de passe utilisateurs…(vba). Et que tout ce qui est protection Office est une barrière contre les mauvaises manips et non contre les personnes mal intentionnées et un peu initiées.

    Le projet est plus pour faire un truc « bien fait » ou a une motivation plus forte, il doit reste très léger ou aller plus loin etc…

    A voir, si j’ai compris correctement le fond de ce sous-forum…

    cordialement,

    Didier
    Didier Gonard

    Dernier tutoriel :
    Le VBA qu'est ce que c'est ?
    Tutoriels : Voir la liste de mes tutoriels Excel & VBA et mon site pro sur ma Page DVP
    Cours et tutoriels pour apprendre Excel
    N'oubliez pas de mettre : ..quand c'est le cas !

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Septembre 2009
    Messages : 83
    Points : 39
    Points
    39
    Par défaut
    Bonjour,

    Alors je vais essayer d'être un peu plus explicatif, mais ce n'est pas toujours facile.
    Alors oui on peut mettre de la vba dans le classeur, ceci me permet d'utiliser excel plus en profondeur
    Alors en ce qui concerne le projet, c'est un classeur composé de 14 feuilles, accessibles par divers personnes de tous services.
    En faite ce classeur sera composé:
    - de feuilles accessibles à tous, donc aucune protection nécessaire
    - de feuilles accessibles pour certains services spécifiques, c'est là qu'il me faut un mot de passe différent pour chaque onglet pour éviter que certaines informations ne soient divulguer à d'autres services. Je souhaiterai que le nom des onglets soit visible et dès que l'on clique dessus une fenêtre s'ouvre avec une demande de mot de passe.
    Voilà en espérant avoir répondu à vos questions

  14. #14
    Invité
    Invité(e)
    Par défaut
    Bonsoir

    Rendre visible ou non une feuille par mot de passe. C'est assez facile.
    Rendre visible l'onglet et non le reste c'est, il me semble plus compliqué.
    Ne serait il pas plus simple d'avoir des mots de passe au démarrage du classeur donnant droit à un certain nombre de feuilles.
    Je m'explique
    Mot de passe 1 : pages communes + page service1
    Mot de passe 2 : pages communes + page service2
    etc...
    Evidemment cela passe par du Vba

    Mais comme le dit Ormonth, on sort peut être du cadre de ce sous forum, qui est plus basé sur l'approche de la conception globale.

  15. #15
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Salut!

    Pour moi, on est vraiment dans un processus de conception. Tant que le fonctionnement n'est pas clair et validé, il ne sert pas à grand chose d'aller plus loin. C'est pour cela qu'on parle de conception de classeurs Excel.

    Sans réflexion au départ, on part sur ce que l'on sait, et dans un mois, c'est l'usine à gaz avec un truc non maintenable, bugué, ...

    Comme je le précisais dans mon précédent message, et Gayot enfonce le clou, cliquer sur un onglet et demander un mot de passe avant que la feuille s'affiche, c'est pour le moins compliqué, puisque je pense que c'est impossible.

    Il est donc important de bien comprendre les mécanismes qui agissent aux trois niveaux de la protection (feuilles, classeur, fichier).

    Dès lors, je penche pour:
    - un premier onglet de type menu général ou feuille d'accueil (logo, petit explicatif)
    - que les onglets qui ne doivent être visibles que "par mot de passe" soient en propriété Visible= XlVeryHidden pour ne pouvoir être affichés que par code. Ils sont masqués sur l'événement Deactivate.
    - que le code vba soit protégé par mot de passe à l'affichage (protection un peu "ridicule" car des outils existent pour craquer les mp) qui protègent contre la petite fraude, et contre les erreurs qui ouvrent le VBA en débogage, laissant l'utilisateur devant un écran auquel il ne comprend rien...
    - que, idéalement, l'application soit pilotée par une barre de menu propre, ou par un menu reconstitué dynamiquement, et masqué dès que l'on désactive le classeur.

    C'est, au moins, un premiet jet sur la table de conception du projet.

    Après, ben... Y a plus qu'à...

    Bon courage
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  16. #16
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Septembre 2009
    Messages : 83
    Points : 39
    Points
    39
    Par défaut
    bonjour,

    Apparemment j'ai ma réponse, il est donc impossible de protéger un onglet par mot de passe.
    Donc pour mon projet je pense que je dois partir sur l'idée de Fauconnier.
    Si j'ai bien compris, une page de menu avec dessus des boutons pour accéder aux divers onglets, avec des boutons protégés par mot de passe pour les onglets que je voudrai protéger. Mais je me pose une question:
    Est-il possible qu'à l'ouverture de ce menu, tous les onglets soient cachés??
    Mais là pour moi ceci est un casse tête chinois, vu mon niveau sur excel.
    Alors si des âmes charitables veulent bien m'aider je serais ravis.
    Merci par avance

  17. #17
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Salut!

    Via VBA, tu caches tous tes onglets sauf le menu (soit à la main, via les propriétés de chaque feuille, et tu choisis xlSheetVeryHidden dans la propriété Visible

    soit par code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub MasquerOnglets()
        Dim Feuille As Object
     
        For Each Feuille In Sheets
            If Feuille.CodeName <> "shMenu" Then
                Feuille.Visible = xlVeryHidden
            End If
        Next Feuille
    End Sub
    Tu dois également définir si une feuille qui a été affichée reste affichée jusqu'à la fermeture du classeur, ou si elle est à nouveau cachée dès que tu la quittes (cela peut vite devenir brise-biscuits en cas d'aller retour sur une feuille)

    Dans Excel, tu places tes boutons sur le menu. Chaque bouton qui affiche une feuille pointera vers la même procédure (AfficherOnglet). Chaque bouton sera nommé (zone de nom dans Excel) avec un nom qui contient le nom VBA de l'onglet sur lequel il pointe (par exemple, btn_shDonnees, btn_shGraphique, ...), de manière à pouvoir identifier sur quel bouton on a cliqué.

    Tu renommeras chaque feuille avec un nom VBA (propriété codename d'une feuille, en fait, la première propriété dans la fenêtre des propriétés de l'objet, celle appelée (name)), en étant attentif à la correspondance bouton/Nom VBA de la feuille.

    Si la feuille reste visible jusqu'à la fermeture du classeur, tu peux avoir la mise en place suivante:
    Dans le module de chaque feuille sauf le menu, tu places ceci, et tu adaptes le mot de passe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Public Property Get MDP() As String
        MDP = "123Piano"
    End Property
    Dans un module standard, tu places ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    Function getFeuilleCodename(Codename As String) As Object
        ' Renvoie un objet feuille selon le codename en paramètre
        Dim Feuille As Object
     
        For Each Feuille In Sheets
            If Feuille.Codename = Codename Then
                Set getFeuilleCodename = Feuille
                Exit For
            End If
        Next Feuille
    End Function
     
    Sub AfficherOnglet()
        Dim Feuille As Object
        Dim MDP As String
     
        Set Feuille = getFeuilleCodename(Replace(Application.Caller, "btn_", ""))
        If Not Feuille Is Nothing Then
            MDP = InputBox("Veuillez introduire le mot de passe")
            If MDP = Feuille.MDP Then
                Feuille.Visible = xlSheetVisible
                Feuille.Activate
                Else
                MsgBox "Désolé, Vous n'avez pas le droit d'afficher cette feuille"
            End If
        End If
    End Sub
    Cette démarche doit être affinée et adaptée selon tes souhaits. Comme tu le constates, cela demande de la réflexion et de la mise en place, avant de se jeter tête baissée vers une solution VBA.

    Bon travail
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  18. #18
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 696
    Points
    6 696
    Par défaut
    Bonjour,

    En faite ce classeur sera composé:
    - de feuilles accessibles à tous, donc aucune protection nécessaire
    - de feuilles accessibles pour certains services spécifiques, c'est là qu'il me faut un mot de passe différent pour chaque onglet pour éviter que certaines informations ne soient divulguer à d'autres services. Je souhaiterai que le nom des onglets soit visible et dès que l'on clique dessus une fenêtre s'ouvre avec une demande de mot de passe.
    Toujours dans la même veine, en mode simpliste, il n'y a rien de caché à première vue, tu as ton classeur avec tes feuilles de base et comme l'expliquait Pierre, tu fais une barre de boutons qui portent les initiales des différents services. Ceux-ci cliquent sur leur bouton qui ouvre une demande de mot de passe qui leur donne alors accès aux fonctions qui sont les leurs ( 1 ou plusieurs feuilles cachées, paramétrage de mdp, etc...) cf image ci-dessous.



    cordialement,

    Didier
    Didier Gonard

    Dernier tutoriel :
    Le VBA qu'est ce que c'est ?
    Tutoriels : Voir la liste de mes tutoriels Excel & VBA et mon site pro sur ma Page DVP
    Cours et tutoriels pour apprendre Excel
    N'oubliez pas de mettre : ..quand c'est le cas !

  19. #19
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Septembre 2009
    Messages : 83
    Points : 39
    Points
    39
    Par défaut
    bonjour,

    Mr Fauconnier, j'ai essayé de taper le code que tu m'as donné, mais je n'arrive pas à cacher les onglets......
    Je dois faire une fausse manipulation.
    Je te mets mon fichier sur lequel je travaille, peux-tu m'aider?
    Si tu peux me faire un exemple d'une feuille avec un mot de passe sur mon classeur ça serait sympa.
    Autrement, oui je préfère que les feuilles restent ouvertes jusqu'à la fermeture du classeur.
    De plus si tu as des conseils au sujet de mon classeur je suis preneur, car c'est un projet qui ne demande qu'à évoluer et je pense que ce forum est très riche en idées.
    Merci beaucoup pour votre aide

  20. #20
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Septembre 2009
    Messages : 83
    Points : 39
    Points
    39
    Par défaut
    Bonjour à tous,

    Voilà après plusieurs essais, j'ai réussi:
    -à cacher les onglets
    -lors de l'ouverture du classeur, faire la demande d'un mot de passe qui:
    *si celui-ci est faux, le classeur se ferme
    *si l'on tape le code "princesse", tout le classeur est disponible
    *si l'on tape le code "AM", on ne peut rien enregistrer et seule la feuille "essais" n'est pas accessible

    Alors, j'ai plusieurs problèmes:
    - Je n'arrive pas à bloquer l'accès à plusieurs feuilles. Je voudrais bloquer les feuilles "Divers ZAP1", "Divers ZAP2" .....
    - Sur ma feuille "Menu", je voudrais bloquer les boutons qui donnent accès aux feuilles que j'ai bloquées pour le code "AM" , car là, quand je clique par exemple sur le bouton "essais", il m'envoie sur la dernière page.
    Alors si quelqu'un peut m'aider ce serait sympa, je vous mets le fichier en pièce jointe.
    Vous remerciant par avance pour votre aide et espérant avoir été assez clair
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. [XL-2007] Ouvrir classeur en lecture-écriture
    Par nanousik dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 27/10/2012, 18h14
  2. [XL-2007] tableau croisé dynamique avec un classeur complet
    Par jourdejade dans le forum Conception
    Réponses: 1
    Dernier message: 28/07/2010, 03h38
  3. Worksheet_SelectionChange - Target dans un classeur complet
    Par damsmut dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 26/05/2009, 08h54
  4. Access et Excel: importer un classeur complet
    Par damfury dans le forum VBA Access
    Réponses: 5
    Dernier message: 09/10/2008, 08h12
  5. VBA-E comment exécuter un code sur un classeur complet?
    Par djulegnome dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 13/06/2006, 12h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo