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

Excel Discussion :

Donner tous les droits d'accès à un utilisateur sur des tableaux Excel protégés


Sujet :

Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Novembre 2017
    Messages : 12
    Points : 4
    Points
    4
    Par défaut Donner tous les droits d'accès à un utilisateur sur des tableaux Excel protégés
    Bonjour à tous !

    Tout d'abord je tiens à remercier ceux qui pourront m'apporter leur aide,

    Je suis étudiant en BTS SIO, actuellement en stage dans une fondation, la secrétaire m'a exposer un problème que je ne sait pas résoudre,

    Je vous expose la problématique :

    Chaque employé rempli une feuille d'émargement sur Excel (heures de travail effectif, missions, etc),
    Ces feuilles sont protégées en écriture par un code personnel (afin que Paul ne touche pas à la feuille de Pierre),

    Le problème c'est que la secrétaire est obligée de saisir le code personnel de chacun, et ce à chaque fois qu'elle à une action à faire sur une de ces feuilles (200 employés je vous laisse imaginer la perte de temps),

    J'ai cru comprendre (en lisant votre forum) qu'il était possible d'insérer une macro qui puisse identifier notre secrétaire via sa session windows et lui attribuer tous les droits en écriture,


    Ma question est la suivante :

    Cette action est-elle possible ?
    Est-ce une solution qui vous parait viable (ou en existe t'il des meilleures)?
    Si cette solution est une bonne solution, comment la mettre en oeuvre et quel serait la syntaxe de ce code ?

    Je vous remercie grandement pour toute l'aide que vous pourrez m'apporter !

  2. #2
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Bonjour
    La réponse dépend totalement de la conception de ton outil.
    Or, nous ne la connaissons pas. Nous ne pouvons dans de telles conditions que "supposer".

    La chose est par exemple facilement réalisable (selon ce que tu as construit) de cette manière :
    - identification (comme pour les autres), avec un mot unique ("admin", par exemple)
    - mot de passe (comme pour les autres)
    - une variable booléenne nommée admin, que tu passes à True si identification de l'utilisateur "admin" et bon mot de passe correspondant
    - shunter toutes les autres protection si la variable admin = true

    Mais une autre fois : c'est là un problème de conception pure avant d'en être un de développement.
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2012
    Messages
    213
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 213
    Points : 311
    Points
    311
    Par défaut Accès protégé
    Bonjour,

    Si le tableau ou les feuilles de calculs sont accessibles à partir d'un domaine, il est possible de ne donner accès qu'aux personnes concernées.
    Onglet Révision / Protéger / Autoriser la modification des plages ...
    Définir (Désigner) la (les) plage(s) pouvant être modifiées ...
    Autorisation d'accès ...
    indiquer les comptes utilisateur (Active directory) pouvant acceder à ces plages.
    Par défaut, la (les) plage(s) est (sont) accessible(s) au compte de la secrétaire.
    Lors de la création d'une feuille supplémentaire on accorde l'autorisation au concerné.

    En suite on met en place la protection de la feuille avec un mot de passe dont, par exemple, la secrétaire peut être le gardien-dépositaire.
    Les "autorisés" accéderont sans avoir à saisir de mot de passe aux plages.

    bonne continuation

  4. #4
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    J'ignore totalement (et pour cause) les mécanismes déjà présents pour décider des accès des différents utilisateurs.
    Ce que je sais avec une certitude absolue, c'est que, quel que soit le mécanisme déjà là :
    - si l'on fait ce que j'ai exposé dans mon message précédent : --->> la variable booléenne admis (par construction False au départ, devient TRUE si l'administrateur "admin" s'est connecté et a donné le bon mot de passe. Et qu'elle restera True pendant toute la durée de la session ainsi ouverte
    - qu'il suffit dès lors :
    1) partout où l'on demande un mot de passe, de ne faire une telle demande que si Admin = False (une simple expression conditionnelle)
    2) partout où l'on vérifie la validité de la connexion : dire qu'elle est bonne si l'utilisateur a donné son bon mot de passe, OU si Admin = True -->> du genre (en "schéma") :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IF boncontrole Or Admin = True Then Accès_autorisé
    Voilà. San,s rien changer de fondamental au mécanisme déjà adopté.
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Novembre 2017
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    Bonjour unparia et merci pour ta réponse,

    Pour revenir sur ta première réponse je te confirme que mon premier réflexe à été de proposer une organisation différente. Mais les solutions que j'ai proposé ne correspondaient pas aux attentes (je pense pourtant qu'il aurait été préférable de revoir cette organisation, mais je ne suis en stage qu'1 mois donc je fait mon possible pour solutionner les problèmes sans tout chambouler).

    La solution que tu m'a proposé semble représenter la meilleure alternative,

    Je vais tenter de la mettre en place,

    Merci à toi.

    SR.SFC, merci pour ta réponse,

    Effectivement c'est une solution que j'avais envisagé, cependant elle ne peut pas être mise en application en l'état actuel des choses, car le personnel soignant n'a pas 1 session pour 1 utilisateur,
    Ils utilisent des ordinateurs différents (ou parfois le même) mais surtout avec une session générique,
    La protection des feuilles, à ma connaissance ne peut se faire que par mot de passe du coup !
    Mais merci de m'avoir proposé ça.

  6. #6
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Novembre 2017
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    Re-bonjour,

    J'ai tenté de réaliser la macro (ma première !) et je n'y arrive pas du tout, c'est au dessus de mon domaine de compétence,

    J'obtient au choix des messages d'erreur ou tout simplement à nouveau ma fameuse fenêtre qui me demande le mot de passe pour accéder à ma feuille Excel,

    Bref je suis au point mort,

    Je suis désolé de te demander ça mais,
    Pourrait tu me dire comment rédiger cette macro ?
    Et comment l'intégrer ?

    Je t'avoue être totalement perdu ...

    Merci d'avance

  7. #7
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Si ton message s'adresse à moi :
    Cette seule question :
    Pourrait tu me dire comment rédiger cette macro ?
    met en super évidence que tu n'as absolument rien compris de ce que j'ai exposé.
    Il ne s'agit en aucun cas d'une "macro à intégrer", mais d'expressions conditionnelles à écrire (pour ce qui est des mots de passe) ou modifier (pour ce qui est des accès autorisés).
    Je vais te laisser là. Désolé.
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  8. #8
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Novembre 2017
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    Unparia,

    Je ne suis ni développeur, ni un as d'Excel, je suis en première année de BTS, ça fait moins de 3 mois que je suis dans l'informatique,

    Je suis juste un gars plein de bonne volonté qui essaie de trouver une solution à un problème,

    Si tu peux vulgariser tes propos je suis preneur, sinon c'est pas grave merci d'avoir essayé.

  9. #9
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Si tu peux vulgariser tes propos je suis preneur, sinon c'est pas grave merci d'avoir essayé.
    Je ne sais pas ce que tu entends par "vulgariser".
    J'ai exposé un mécanisme en langage naturel et ne vois pas du tout comment "vulgariser" ce qui est exprimé en langage naturel.
    Sauf à faire une périphrase qui se substituerait à chacune des expressions que tu ne comprends pas ? oh !
    ça fait moins de 3 mois que je suis dans l'informatique,
    Comment te dire sans vouloir te blesser que je savais dès le 2 ème jour de mon approche (j'avais alors près de cinquante ans et était totalement seul - aucune autre aide que les 3 manuels concernant le langage Pick) du développement informatique (et c'était avec un langage et un système d'exploitation (Pick Ultimate) bien moins conviviaux que VBA), je savais déjà très clairement ce qu'étaient :
    - une variable booléenne
    - une expression conditionnelle (et comment la construire)
    Et ce sont là les seules notions techniques auxquelles se réfère mon exposé ...

    Comment oser maintenant de dire dans la foulée qu'environ deux mois et demi après mes débuts en développement informatique (qui n'est pas du tout et qui n'a jamais été mon métier), je dotais un organisme important d'une application qui y est encore utilisée. Lorsqu'il a fallu abandonner le système Pick, il a suffi de reprendre en un autre langage les instructions que j'avais codées sous Pick. Tout le reste est resté tel quel (articulation, etc ...)
    Bon courage, mais également et surtout : bonne étude et bonne détermination.
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2012
    Messages
    213
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 213
    Points : 311
    Points
    311
    Par défaut
    Bonjour,

    Vu le complément de descriptif, effectivement l'ouverture sans avoir à saisirdemot de passe ne peut pas se faire avec une "surveillance" d'ActivDirectory.

    La seule méthode que je vois est de mettre du code VBA.

    Par exemple ...
    Une feuille d'accueil ( la seule visible) dans laquelle l’utilisateur saisi un identifiant et un mot-de-passe.
    "sur entrée", le code se lance, vérifie l'association ID + Pwrd et affiche (ou non) la feuille du concerné.
    Un bouton ( ou un évènement) masque la feuille quand on revient sur la première ou que l'on ferme (on ouvre) le classeur.
    Quand le gestionnaire s'identifie, toutes les fenêtres s'ouvrent ...

    Et dans ce domaine, les possibilités ne manquent pas.

    Pour débuter avec les macro, affiche l'onglet "développeur" du ruban, et lance l'enregistrement d'une macro. Fait les manip que tu souhaites. Stoppe l'enregistrement et va au résultat dans l'interface VBA (alt+F11).

Discussions similaires

  1. Comment définir les droits d'accès d'un utilisateur ?
    Par Klemsy78 dans le forum Langage
    Réponses: 17
    Dernier message: 12/07/2015, 22h12
  2. Donner tous les droits à LocalSystem
    Par basile238 dans le forum Windows
    Réponses: 5
    Dernier message: 31/05/2009, 12h34
  3. Réponses: 6
    Dernier message: 10/05/2007, 16h24
  4. Utilisateurs qui ont tous les droits.
    Par seal3 dans le forum Shell et commandes GNU
    Réponses: 14
    Dernier message: 15/02/2005, 20h41
  5. creation d'utilisateur sous interbase avec tous les droits
    Par devalender dans le forum InterBase
    Réponses: 2
    Dernier message: 13/09/2004, 10h00

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