Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
Boostez vos compétences Excel avec notre communauté !
Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force.
Apprenez, échangez, progressez – et tout ça gratuitement !
👉 Inscrivez-vous maintenant !
Je voudrais que l'accès d'un classeur soit réglementé à l'ouverture.
Soit l'USER 123456 et l'USER 654321 ont un accès normal
et que tout les autre ne soit qu'en lecture seul.
Peux tu expliciter, lecture seule avec mdp pour l'écriture ou classeur protégé par mdp
Dans le premier cas, il suffira d'enregistrer le classeur sous un nouveau nom pour permettre l'écriture, dans l'autre ce ne sera pas possible
A+
kjin
Je pense que dans le cas N°2 c'est également possible. En effet, dans le module Workbook_Open il suffit de tester le User et le cas échéant, d'ôter la protection du classeur pour l'utilisateur autorisé.
Ex:
Code:
Private Sub Workbook_Open()
Select Case Application.UserName
Case "123456", "654321"
ThisWorkbook.Unprotect
End Select
End Sub
Re, bonsoir Papou 🙂,
Je me suis mal exprimé, je voulais dire mdp sur les feuilles du classeur bien sûr, Par ailleurs, notre ami n'est pas très explicite quant à la notion de USER
A+
kjin
Il est vrai que je n'est pas était des plus clair !
Je voudrais que l'accès d'un classeur soit réglementé à l'ouverture.
Soit l'USERNAM 123456 et l'USERAM 654321 ont un accès normal sans demande de MDP.
L'accès des USERNAM autorisés doit être transparents.
Mais pour les autres l'accès soit bloqué par la demande d'un MDP.
Je ne comprends pas, le dernier classeur du fil qui s'ouvre sans problème :
Sans que l'user soit le bon et surtout si on ferme l'userfom du MDP on est sur le classeur.
Je voudrais que l'accès d'un classeur soit réglementé à l'ouverture.
Soit l'USERNAM 123456 et l'USERAM 654321 ont un accès normal sans demande de MDP.
L'accès des USERNAM autorisés doit être transparents.
Tu ne comprends pas quoi ?!
Si la boite du mot de passe s'affiche c'est que nom d'USER n'est pas valide (123456 ou 654321), mais ça on s'en doutait
As tu au moins essayé de modifier le fichier sans mot de passe valide et sans nom d'USER valide ?
Le fichier s'ouvre normalement dans tout les cas
Tu n'as droit qu'à un seul essai pour le mot de passe; si tu entres "Toto", le fichier peut être modifié, sinon lecture seule autorisée (feuille et classeur protégés) et c'est bien ce que tu as demandé, non ?
A+
kjin
Vu sous cette angle je mets ce code de coté pour une future utilisation. (Merci)
Moi, je pensé à une autre approche :
Que l'ouverture du Classeur soit possible aux USERNAME connus sans demande de MDP.
Et que l'ouverture de ce même classeur, pour tous les autres ne soit possible qu'après avoir donné le bon MDP.
Moi, je pensé à une autre approche :
Que l'ouverture du Classeur soit possible aux USERNAME connus sans demande de MDP. Et que l'ouverture de ce même classeur, pour tous les autres ne soit possible qu'après avoir donné le bon MDP.
Je voudrais que l'accès d'un classeur soit réglementé à l'ouverture.
Soit l'USER 123456 et l'USER 654321 ont un accès normal
et que tout les autre ne soit qu'en lecture seul.
Re, oui bien sur mais un simple Alt F11 et le MDP est la :
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
For i = 1 To Sheets.Count
Sheets(i).Protect Password:="Toto"
Next
ActiveWorkbook.Protect Password:="Toto"
End Sub
Private Sub Workbook_Open()
If Environ$("username") = "123456" Or Environ$("username") = "654321" Then
For i = 1 To Sheets.Count
Sheets(i).Unprotect Password:="Toto"
Next
ActiveWorkbook.Unprotect Password:="Toto"
Exit Sub
End If
UserForm1.Show
End Sub
Alors que si le "Classeur n'est pas encore ouvert" cela devient plus dur (Je parle pour moi ! Bien sur)
Donc si il est vrai que j'ai parlé de "lecture seule" je préfère maintenant que le classeur ne s'ouvre avec un MDP pour les autres, et un accès sans MDP pour les USERNAME connus.
re,
Mouais !🙄
Et si je désactive les macros ?!
Si tu ne protèges pas ton code (et encore que...)
Dans le module de Thisworkbook
Code:
Private Sub Workbook_Open()
If Environ$("username") = "123456" Or Environ$("username") = "654321" Then Exit Sub
UserForm1.Show
End Sub
Dans le module du formulaire
Code:
Private Sub TextBox1_Change()
If Len(TextBox1) < 4 Then Exit Sub
If TextBox1 = "Toto" Then
Unload Me
Exit Sub
End If
ActiveWorkbook.Close False
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then ActiveWorkbook.Close False
End Sub
- Navigue sans publicité - Accède à Cléa, notre assistante IA experte Excel... et pas que... - Profite de fonctionnalités exclusives Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel. Je deviens Supporter XLD