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

Macros et VBA Excel Discussion :

Créer des niveaux de protection - plusieurs mot de passe


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 13
    Par défaut Créer des niveaux de protection - plusieurs mot de passe
    Bonjour, bonjour,

    Me voilà embêtée, j'ai fini de créer un super tableau avec pleins de formule mais le hic s'est que je doit protéger l'ensemble des données mais pas au même niveau suivant les personnes:
    - Niveau fort pour les "Consultants":droit uniquement à sélectionner pour un copier coller , droit au filtre mais modification interdite et formules masquées
    - Niveau moyen pour les "utilisateur": droit d'accès à la modification sauf les cellules contenants des formules
    - Niveau admin: accès à l'ensemble du fichier

    j'imagine mettre plusieurs mots de passe qui ouvrent + ou - les droits

    Est ce possible de faire ça sans macro? avec macro? comment? merciiiiiiiii

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par faustina Voir le message
    Est ce possible de faire ça sans macro?
    Non

  3. #3
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Bonjour,

    Cette fonctionnalité nécessite une table des identifiants machine (Application.Username) et les niveaux de droits correspondants (1,2, ou 3)
    Ton code ira chercher ce droit et appliquera le niveau de protection correspondant.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 13
    Par défaut
    hummm tout ça me parait bien compliqué

  5. #5
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Faustina,

    2 colonnes dans 1 table.

    La 1ère colonne = Identifiant machine.
    Il s'obtient de 2 manières sur 1 classeur vierge:
    1 - Excel : Fichier/Options ==> Nom de l'utilisateur
    2 - VBA : Application.Username (je préfère)
    Pour cette 2ème solution, dans la fenêtre Exécution du VBE (CTRL + G), écrire
    puis activer la touche "Enter"

    La 2ème colonne : degrés d'intervention (Fort, Moyen, Admin)

    A l'ouverture du classeur (évènemnt Workbook Open) ==> Reporter l'identifiant ci-dessus dans une cellule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WorkSheets("lafeuille").Range("A1").Value = Application.Username
    Tu obtiens, par RechercheV, ou combinaison Index et Equiv, le degrés d'intervention retourné dans ta table, exemple en A2

    Pour coder.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Select Case WorkSheets("lafeuille").[A2]
       Case "Fort"
              'coder ici l'Action de protection n°1 à reporter via l'enregistreur de macro
       Case  "Moyen"
              'idem Action 2
       Case "Admin"
              'idem Action3
    End Select
    A ta disposition.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 13
    Par défaut
    Tu es au top Marcel, j'essais et te fais un retour! merci!

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 13
    Par défaut
    Marcel,

    Finalement, j'ai enregistré le fichier en mode protégé.

    Ainsi les utilisateurs consultants ouvre le fichier en lecture seule.
    j'ai mis une protection supplémentaire sur les feuilles actives me permettant de choisir quelles sont les actions pouvant être faites sans ôter la protection.

    En lecture seule, le fichier ne peut pas être modifier mais l'utilisateur consultant peut faire les actions choisit dans l'option "protection la feuille" soit sélectionner les cellules et établir des filtres automatiques.

    Les utilisateurs "informant", possèdent le mot de passe pour l'ouverture du fichier et donc peuvent enregistrer des modifications. Ils n'ont pas accès à toutes les fonctionnalités car j'ai protégé les feuilles actives par un autre mot de passe. Il ne peuvent modifier que les cellules que j'ai volontairement déverrouillées.

    L'administrateur possède le mot de passe pour l'ouverture du fichier et celui pour désactiver la protection des feuilles actives. Il a donc accès à toutes les fonctionnalités.

    Ainsi j'obtiens mes 3 niveaux de protections.

    Le seul "hic" est que je ne trouve pas dans la liste de choix des actions autorisées, l'ouverture des onglets " grouper/dégrouper", il faut donc être administrateur pour pouvoir gérer l'affichage. Or, j'aurais aimé que l'utilisateur "informant" puisse grouper et dégrouper comme il l'entend.

    As tu un conseil sur ce problème?

    Merci à toi

Discussions similaires

  1. [MySQL] Créer des séries à partir de plusieurs colonnes
    Par michgoarin dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 10/04/2015, 11h27
  2. Réponses: 2
    Dernier message: 07/11/2014, 16h13
  3. [Toutes versions] moyen plus sûr que la protection par mot de passe des macros
    Par issoram dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 13/11/2011, 18h38
  4. Réponses: 3
    Dernier message: 16/11/2008, 14h01

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