Mot de passe suivant utilisateur
Bonjour,
J'ai créé un fichier excel avec X colonnes.
On me demande de verrouiller le fichier via un mot de pass.
Seulement le besoin est de créé un mot de pass par utilisateur différent.
Chaque mot de pass débloquerai en écriture certaines colonnes qui sont propre à l'utilisateur.
Est-il possible d'attribuer plusieurs mots de pass? (je pense que non mais je demande quand même)
Faut -il créer une macro au démarrage pour réaliser cette fonction?
J'espère avoir été assez clair
Et merci d'avance pour votre aide.
Cordialement
Bonsoir
Regarde ce lien ; tu y trouveras peut-être ton bonheur :
http://boisgontierjacques.free.fr/pages_site/protection.htm#ProtectionMF
Amicalement
Nad
Bonsoir,
Bonsoir, Nad
un petit fichier exemple...
Le mot de passe numéro 1 est : vert
et t'autorise à modifier les cellules en vert de la feuille "travail"
le mot de passe numéro 2 est : bleu
et donc, t'autorise à modifier les cellules en bleu de la même feuille
le mot de passe numéro 3 est : admin
tu as toutes les feuilles visibles, et tu peux tout modifier....
Maintenant, toute protection étant aléatoire.....
Pense à protéger également ton code...
Alt + F11 pour afficher le code
Clic droit sur Module, Propriétés de VBAProject, onglet Protection
Sélectionner "Verrouiller le projet pour affichage" ET
Saisir un mot de passe, puis le confirmer....
Le fichier :
Bonsoir Nad, Bonsoir Felix,
Tout d'abord merci à vous 2 de plancher sur ma question.
Ensuite J'ai regardé le fichier joint de Félix et aujourd'hui 2 choses me chagrinent.
Il faudrait que lorsque l'utilisateur bleu (par exemple) se connecte il puissent insérer une colonne dans sa partie. IDEM pour vert. Seule l'administrateur peut le faire.
IDEM pour les lignes
De plus lorsque admin insère une ligne ou une colonne la zone verte n'évolue pas dans la macro.Est il possible de l'automatiser ou alors il faut faire évoluer la macro manuellement?
Sinon c'est déjà pas mal et correspond au besoin
Merci beaucoup
A+
Re,
j'ai essayé de déchiffrer la macro manière de la comprendre (et ainsi apprendre)
Par contre je n'ai pas tout saisi.
Pouvez vous dans la mesure du possible me dire si j'ai bien compris les lignes de commandes et m'indiquer celles marqué ??? ( https://www.excel-pratique.com/~files/doc/testmdp1.xls )
De plus lorsqu'un utilisateur a rentré son mot de pass il ne peut plus allez sur la feuille acceuil, même pour l'admin.
Voili voilou
Re-,
Dans l'ordre :
Il faudrait que lorsque l'utilisateur bleu (par exemple) se connecte il puissent insérer une colonne dans sa partie. IDEM pour vert. Seule l'administrateur peut le faire.
un clic droit dans une cellule autorisée, puis Insérer (colonne entière, ligne entière), fonctionne....
De plus lorsque admin insère une ligne ou une colonne la zone verte n'évolue pas dans la macro.Est il possible de l'automatiser ou alors il faut faire évoluer la macro manuellement?
Si tu as un repère dans la première cellule de la zone concernée, cela est jouable....
Par exemple, de A1 à D1, pour "vert"....
Tu insères une colonne, Si E1 comprend le nom de la personne autorisée pour la zone "bleu", on peut redéfinir la zone autorisée....
On peut masquer la 1 ère ligne au besoin....
De plus lorsqu'un utilisateur a rentré son mot de passe il ne peut plus allez sur la feuille accueil, même pour l'admin.
un utilisateur vert ou bleu, non, mais l'admin, chez moi, il peut aller sur toutes les feuilles....???????
Re-,
au fait, j'ai vu que tu avais suivi mes conseils, pour l'accès au code....
Maintenant, sur un fichier test, tu peux le supprimer.... (du moins, si tu désires que je continues à t'aider......)
Et ensuite, l'insertion de lignes et/ou colonnes fonctionne, mais il faut redéfinir le ScrollArea à chaque insertion....
A te relire
Bonjour,
Oui effectivement je tire à profit de tous les conseils et il est vrai que j'ai omis d'enlever le mot de passe de la macro.
Sinon pour l'insertion de colonne et de ligne effectivement cela marche mais du coup c'est un peu différent que d'habitude mais cela devrait suffire.
Avant: Insertion d'une ligne juste avant la ligne sélectionnée.
Maintenant: Clic sur une case et ensuite insérer ligne entière juste avant la ligne de la case sélectionnée.
Je devrais m'y faire.
Sinon si j'ai bien compris pour les lignes je peux m'en sortir en redéfinissant le ScrollArea et en mettant jusqu'à la ligne 1000
Par contre à chaque insertion d'une colonne l'admin doit modifier en direct la macro.
On ne peux pas l'automatiser.
J'espère ne pas me tromper.
De plus je repost le fichier précédent sans le mot de passe bien entendu https://www.excel-pratique.com/~files/doc/hMnuttestmdp1.xls
Est il possible que quelqu'un me complète l'explication de chaque ligne afin que je comprenne la macro dans son intégralité. Cela sera plus simple pour moi par la suite si je veux la faire évoluer.
De plus un souci que je rencontre.
Lors de l'ouverture du fichier et que je me connecte avec bleu par exemple l'onglet accueil disparait. si je me connecte dans la foulée avec admin accueil ne revient pas.
seul moyen que j'ai trouvé: cliqué sur la croix comme pour fermer le fichier et là le fichier revient sur accueil; est-ce normal?
De plus est il possible de bloquer vert et bleu à l'insertion de lignes et de colonnes?
Merci et bon dimanche
Re,
A quoi servent les lignes suivantes:
Case Is = ""
Exit Sub
Je les ai supprimer et j'ai l'impression que la macro marche à l'identique.
Merci
Bonsoir,
Maintenant: Clic sur une case et ensuite insérer ligne entière juste avant la ligne de la case sélectionnée.
Je devrais m'y faire.
Sinon si j'ai bien compris pour les lignes je peux m'en sortir en redéfinissant le ScrollArea et en mettant jusqu'à la ligne 1000
Dans ta macro remplace
.ScrollArea = "F4:I1000"par
.ScrollArea = .UsedRange.AddressFais de même pour l'autre Scroll.
Cela te mettra le Scroll automatiquement sans devoir adapter ta macro.
Case Is = ""
Exit SubSi tu n'as pas de mot de passe on sort de suite la macro plutôt que la continuer jusque la fin.
A te relire
Dan
Edit :
Pour te montrer la feuille "Accueil" lors de ton accès à "admin", remplace la partie de code de ta macro
....Case Is = "admin"
With Sheets("travail")
.Visible = xlSheetVisible
.ScrollArea = ""
End With
Sheets("Accueil").Visible = xlSheetVisible...Dan
Bonsoir,
J'ai essayer de mettre .ScrollArea = .UsedRange.Address mais du coup j'ai accès en écriture sur toutes les cases.
Je ne vois pas l'intérêt de mettre ce code sauf si je me suis trompé.
De plus j'ai un souci.
Le ScrollArea me bloque la visu des autres colonnes; je m'explique.
Imaginons que bleu ait accès en écriture sur les colonnes AA à BZ.
Il ne pourra pas visualiser les colonnes précédentes ni les colonnes suivantes.
La sa m'embête.
Y a t'il un moyen de laisser en écriture les colonnes AA à BZ et en lecture tout le reste.
Merci d'avance
re,
Ok. Là ma proposition ne correspond pas à ton souhait.
essaie comme ceci :
- sélectionne la plage de cellule en vert, puis vas dans INSERTION / NOM / DEFINIR et attribue un nom à cette plage. PAr exemple VERT
- Fais la même chose pour le bleu;
- Ensuite dans ta macro remplace
.Scrollarea = usedrange.addresspar
.ScrollArea = "bleu"Idem pour vert.
Là tu devrais pouvoir insérer une rangée de cellules et/ou colonne dans la plage de cellules accessibles.
Amicalement
Dan
C'est idem.
Je n'arrive pas à visualiser en lecture seule les colonnes suivantes.
Le scrollArea me réduit la plage que peux parcourir le curseur.
J'ai essayé de passer par une commande du genre:
Déverrouillage de toute les cellules de la feuille de travail
Pour bleu verrouillage de toute les colonnes après bleu.
Pour vert verrouillage de toutes les colonnes de bleu et toutes les colonnes après vert.
Le souci c'est que plusieurs fonctions ne marchent plus du genre:
Le filtre automatique (la j'ai réussi à le débloquer) par contre en se qui concerne "grouper et créer un plan" je ne peux plus l'actionner/
Du coup je ne peux pas développer mes lignes.
J'ai peur qu'avec cette manip cela me bloque des fonctions que je n'ai pas encore vu.
Amicalement
re,
Le code que t'a proposé Felix et les dernières modifications que je t'ai proposées te permettent :
- L'accès à tout ton fichier avec le MP ADMIN
- D'avoir uniquement accès aux cellules en Vert avecle MP VERT
- D'avoir uniquement accès aux cellules en Bleu avecle MP BLEU
A te lire j'ai l'impression que ce n'est pas ce que tu veux.
Forcément d'autres fonctions (genre grouper) ne sauraient plus fonctionner si on dit pas au code de prendre cela en considération.
Si tu ne donnes pas toutes les explications dès le départ, ce n'est pas possible de te faire un code qui fonctionne dans tous les cas souhaités.
Mets donc ton fichier complet et/ou une explication complète. En programmation il faut toujours connaitre la finalité car dans le cas contraire on doit toujours refaire les codes.
Amicalement
Dan
Bonsoir Nad Dan,
Tout d'abord je tiens bien évidemment à te remercier toi et Félix pour toute l'aide que vous m'avez apporté.
Il est vrai qu'en mettant à jour les différents codes que vous m'avez proposé d'autres questions me viennent.
Si je n'est pas été assez clair je m'en excuse et ferais la prochaine fois plus attention.
Aujourd'hui je vais essayé de mariner de mon côté afin de faire un point.
Et si j'ai encore d'autres questions j'essaierais de le poser plus clairement.
En tout cas je ne suis pas loin de réaliser ce dont j'avais besoin et me proposerais de faire un récap si le fichier était à ma convenance.
Bonne soirée au forum.
Amicalement