Plusieurs "Protections personnelles" dans une feuille ?

Bonjour à tous et toutes,

Voici un petit problème pour lequel votre aide me serait bien précieuse.

Je désire créer un fichier type "réservation de véhicules" avec "protection personnelle" de certaines cellules.

Je m'explique: la feuille du fichier reprendrait l'immatriculation des véhicules disponibles et, en regard, 31 colonnes pour les jours du mois.

Le problème est le suivant: Lorsque Monsieur DUPONT a réservé pour une date précise (en mettant son nom dans la cellule, par exemple), plus personne (sauf lui ou un "administrateur") ne peut plus aller modifier (ou effacer !!!) SA réservation.

Monsieur DUPONT a donc protégé ce qui est devenu SA cellule avec SON mot de passe.

Avec plusieurs réservations émanant de plusieurs demandeurs, on se retrouverait donc avec plusieurs mots de passe différents, chacun appliqué à des cellules qui sont propres à chaque demandeur.

Cela vous semble t-il possible ???

Merci beaucoup à l'attention que vous voudrez bien porter à ce problème.

Z.

Bonjour

Un début d'idée (je n'irais pas plus loin)

Bonjour Banzaï

Je te remercie pour ta réponse.

Ta piste est très intéressante et je vais analyser cela de près.

Sauf erreur, après un premier coup d'oeil, le principe est bon, en effet seul un conducteur faisant partie de la banque de donnée peut s'inscrire

Il y a cependant un problème, n'importe quel conducteur enregistré, et faisant donc bien partie des autorisés à réserver, peut aller effacer "impunément" une réservation déja faite par un autre et se remettre à sa place sans que le mot de passe de celui qui a déjà réservé soit demandé

Z.

Bonjour

zorgloub a écrit :

Il y a cependant un problème, n'importe quel conducteur enregistré, et faisant donc bien partie des autorisés à réserver, peut aller effacer "impunément" une réservation déja faite par un autre et se remettre à sa place sans que le mot de passe de celui qui a déjà réservé soit demandé

En principe non, mais peut-être que j'ai raté quelque chose

Expliques la démarche que tu as faite pour modifier un nom qui n'était pas le tien

Bonjour, bonjour Banzaï,

Cliquer sur une cellule : exemple tata

Sélectionner Jacques -> Mot de passe -> tata

La cellule est modifiée par Jacques

A+

Hello Banzaîe,

Merci de suivre ce sujet

Je te réponds donc le plus précisément possible:

Voilà la démarche que j'ai effectuée et qui conduit à un plantage:

1) Je tape un nom inconnu de la base dans une case vierge: exemple: "Robert"

2) Apparaît alors bien normalement le message "valeur non valide, un utilisateur a restreint les valeurs que peut prendre cette cellule". (Cette info bulle est-elle automatique ou est elle écrite quelque part ? je ne la vois pas dans les messages possibles à introduire dans l'option de validation !?)

3) Ja fais annuler pour sortir (puisque je ne suis pas sensé connaître ce mot de passe) et là ... message de plantage:

"Erreur d'exécution 1004 - Méthode Undo de l'objet_Application a échoué"

J'en sors avec le choix de Fin de débogage et à partir de là... tout est déplombé.

Je peux effacer toutes les réservations sans plus aucne demande de mot de passe.

A noter qu'à ce moment si je ferme le fichier pour le réouvrir, il n'y a plus de protection non plus. je dois sortir d'Excel et le relancer pour qu'on me demande un mot de passe lorsque je commence à effacer une réservation avant tout plantage du VBA provoquée par ce que j'ai expliqué ci-dessus.

Merci.

Z.

Hello,

Pour faire avancer le Shmilblick, je constate aussi qu'un variable Patron est déclarée [Dim Patron As Boolean] mais ne semble pas utilisée.

Oubli ou variable inutile ?

Merci.

Z.

Bonjour

@lermite

Oui bien sur et c'est pour cela que j'ai noté en rouge

C'est le code de la personne inscrite qui permet la modification, pas le code de la personne qui écrit

Donc fonctionnement normal (ce que j'avais prévu - pas la bonne solution )

Tu peux modifier que tes cellules mais une fois que tu as modifié ta cellule (avec ton mot de passe ) en y mettant un autre nom

Pour modifier cet autre nom (par exemple pour y remettre ton nom) il te faudra le mot de passe de l'autre nom

Banzai64 a écrit :

Un début d'idée

C'était juste une amorce

@zorgloub

C'est sur que c'est un test que j'ai omis

Ce message arrive car dans les cases il y a une liste de validation (seul sont autorisés les noms dans la liste) et le message est un message système

A voir avec cette version si c'est pareil

C'est le code de la personne inscrite qui permet la modification, pas le code de la personne qui écrit

Beh oui, mais comme le code c'est le nom, pas difficile de connaître le code de l'autre, suffit juste de savoir lire

Faudrait que les codes soient différents des noms.

A+

Bonjour

lermite a écrit :

Beh oui, mais comme le code c'est le nom, pas difficile de connaître le code de l'autre, suffit juste de savoir lire

Faudrait que les codes soient différents des noms.

A+

C'était juste pour ce fichier( plus facile à s'en rappeler lors des tests) dans le code il y a bien la recherche du code donc celui-ci peut être différent du nom

C'est le code de la personne inscrite qui permet la modification, pas le code de la personne qui écrit

Oui c'est bien cela, quand j'ai fait le programme, je m'en suis aperçu (mais la flemme de reprendre) j'ai noté en rouge la condition

Je verrai un truc

A l'ouverture demande du nom et du passe

Si ok :

Possibilité de modifier cellules vides

Possibilité de modifier les cellules avec son nom pour les effacer seulement

Voir aussi possibilité mot de passe "superviseur" lui autoriser tout

A y réfléchir

Hello Banzaïe,

Super !

Mille Mercisss !

La Version 2 fonctionne parfaitement avec l'ajout de la commande [On error ...]

Pas de problème non plus avec des mots de passe différents des Noms puisqu'il y a une vérification de la concordance Nom/Pass.

La variable ("Patron") peut donc etre supprimée ?

Evidemment, la seule chose à faire est de masquer la feuille des codes !

A ce sujet est-il posible de la masquer et de ne la faire apparaître que sous la condiftion d'un code d'accès ?

Z.

Hey again

A propos du masquage de la feuille des codes secrets (Onglet "Secret!) j'ai fait l'expérience suivante:

Masquer les colonnes A et B et protéger cette feuille avec un mot de passe.

Je laisse l'onglet visible mais illisible puisque les colonnes sont cachées.

le problème qui s'ensuit est le suivant: Il devient possible d'effacer une réservation déjà faite sans introduire le moindre mot de passe !!!!??

Z.

--> J'ai pu solutionner ce problème en réduisant la largeur de la colonne mais pas jusqu'à la masquer totalement et je remets un mot de passe de protection de la feuille !

Là, juste avec un ptit morceau de la colonne visible (il suffit d'aligner les données de l'autre côté pour ne rien voir)... et bien ca remarche normalement !

Z.

Voir aussi avec..

Sheets("secret").Visible = xlSheetVeryHidden

Personne ne peu voir ou afficher la feuille, il faut du code VBA pour l'afficher.

Bonjour

Un autre essai : Loin d'être au point mais à voir

Bonjour Banzaïe,

La Version 3 apporte une amélioration intéressante: elle filtre l'utilisateur autorisé dès le début et cela limite ensuite le menu de sélection à son seul nom

(En effet, avec la version 2, si un utilisateur choisi accidentellement un autre nom que le sien pour réserver, il ne pourra plus aller effacer cette erreur puisqu'il ne connaîtra pas le code de l'utilisateur choisi erronément).

Merci beaucoup pour ta collaboration efficace !

Z.

Bonjour

A tester

Parfait !

  • Fermeture du fichier si on ne sélectionne pas de password dès le début
  • Affichage de caractères masqués lors de l'introduction du Pass ... c'est du vrai pro ca !

Merciiiiiiii

Info

Si je change les couleurs de fond du tableau général, Lignes paires en bleu et impaires en vert par exemple, le nom de la réservation ou l'effacement d'une réservation se placant dans le tableau se colore actuellement en noir sur fond jaune.

Je voudrais que cet import dans le tableau ne dénature pas les couleurs d'origine de mon tableau de réservation et prenne la couleur que doit avoir la case. (une sorte d'import transparent)

---> Supprimer les deux lignes "Target.Interior.ColorIndex = 35 (36)" et l'import est transparent

Bonsoir,

Banzaïe,

A l'essai de la version 4, je constate un petit problème sur lequel je sèche:

A l'ouverture du fichier, alors que ce devrait être la fenêtre de demande du mot de passe qui doit apparaître en premier dans la feuille "Main" appelée par la [Private Sub Workbook_Open()] et bien la fenêtre de sélection du Nom (UserForm1) s'affiche en premier !?

Je ne comprends pas ce qu'elle vient faire là alors qu'elle n'a pas encore été appellée par le programme !

PS: Ce programme doit tourner sur 2007 que j'utilise au boulot. Je viens de faire l'essai sur un autre PC avec Excel 2003 et je ne rencontre pas ce bug !

Comment adapter pour E2007 ?

L'adage "Qui peut le plus peut le moins ne semble pas d'application chez Bill Gate !!!"

Z.

Bonsoir

Oui j'avais vu mais pas compris pourquoi et surtout ce n'était pas systématique

Je ne sais pas pourquoi

Si quelqu'un a la solution, faut pas qu'il se gêne pour la donner

zorgloub a écrit :

Comment adapter pour E2007 ?

Normalement (je n'ai pas 2007) il doit s'adapter tout seul

Je ne pense pas avoir utiliser (en fait je n'en sais rien) des instructions incompatibles

Rechercher des sujets similaires à "protections personnelles feuille"