J'ai pri la peine de vérifier si mon problème n'avait pas été posé par quelqu'un d'autre mais je n'ai rien trouvé.
J'ai un fichier excel qui comprend les feuilles "Menu", "parametres" ainsi que d'autres feuilles qui sont créées au fur et a mesure et renommées avec les mois de l'année.
J'ai crée un userform appelé "AutorisationForm" dans ce fichier.
A l'ouverture de mon fichier Excel mon userform apparaît et seule la feuille "menu" est visible, toutes les autres feuilles sont masquées.
Voici le code que je vais inserer dans "ThisWorkbook" pour que cela se fasse.
Code:
Private Sub Workbook_Open()
Dim sh As Worksheet
For Each sh In Worksheets
If sh.Name <> "Menu" Then sh.Visible = xlSheetHidden
Next sh
AutorisationForm.Show
End sub
Mon userform qui s'affiche doit être renseigné avec ces informations :
nom d'utilisateur: "poutchou" et
password: "precious"
Ce que je souhaiterais que je n'arrive pas à faire:
1- Si le nom d'utilisateur = "poutchou" et que le password = "precious"
alors
*toutes les feuilles de mon classeur qui étaient masquées apparaissent sauf la feuille "parametres" qui doit toujours restée masquée et
*la dernière feuille de mon fichier est activée.
2- Si le nom d'utilisateur = "poutchou" et le mot de passe différent de "precious"
alors
*un message apparaît : "le mot de passe est incorrect" et
*les feuilles restent masquées.
3- Si le nom d'utilisateur est différent de "poutchou" et le mot de passe = "precious"
alors
*un message apparaît : "le nom d'utilisateur est inconnu" et
*les feuilles restent masquées.
Ça à l'air simple mais je n'arrive pas à le faire malheureusement .
Re : Mot de passe dans Userform à l'ouverture d'un fichier excel
Bonjour Krystell,
La "sécurité" d'un fichier Excel en passant par des macros est très limitée car il est possible de désactiver les macros
Sais-tu que l'on peut mettre un mot de passe à l'ouverture d'un fichier Excel, c'est beaucoup plus sécurisé que tout ce qui pourra être fait par macro ?
Re : Mot de passe dans Userform à l'ouverture d'un fichier excel
Bonjour,
La "sécurité" d'un fichier Excel en passant par des macros est très limitée car il est possible de désactiver les macros
Sais-tu que l'on peut mettre un mot de passe à l'ouverture d'un fichier Excel, c'est beaucoup plus sécurisé que tout ce qui pourra être fait par macro ?
Re : Mot de passe dans Userform à l'ouverture d'un fichier excel
Bonjour ,
Sujet intéressant ,
Je le marque pour revenir vers vous dès que possible , si cela n'est pas trop tard.
c'est en accordant qu'on devient accordéon.
Re : Mot de passe dans Userform à l'ouverture d'un fichier excel
Re,
Re-Salut Jean-Marcel , Bonjour camarchepas ,
peut-être une légère modification du code de Jean-Marcel, si je puis me permettre
Code:
Private Sub Cmd_Ok_Btn_Click()
If Me.Pass = "precious" Then
If Me.Nom = "poutchou" Then
For Each sh In Worksheets
If sh.Name <> "parametres" Then sh.Visible = True
Next sh
Worksheets(Worksheets.Count).Activate
Else
MsgBox "nom d'utilisateur inconnu"
End If
Else
If Me.Nom = "poutchou" Then
MsgBox "mot de passe incorrect"
Else
MsgBox "mot de passe et utilisateur incorrects"
End If
End If
Unload Me
End Sub
Après il faudra penser à un processus qui masque les feuilles avant enregistrement, par exemple, et surement d'autres choses...
Re : Mot de passe dans Userform à l'ouverture d'un fichier excel
Bonjour,
ATTENTION, MAcro à l'ouverture du classeur pour démonstration
J'ai fais très vite ,dispo hs ,
j'espere ne pas avoir laissé de bog :
'Plan de bataille
'Le risque des macros désactivéesest à prendre en compte.
'Si l'on ne peut rien faire à l'ouverture parce que les macros ne sont pas actives,
'l'on peut lors de la fermeture du classeur l'enregistrer avec toutes les feuilles masquée sauf le menu
'Donc dans le thisworkbook :
'Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Dim sh As Worksheet
'For Each sh In Worksheets
' If sh.Name <> "Menu" Then sh.Visible = xlSheetHidden
'Next sh
'End Sub
'l'on peut prévoir également un message " Veuillez activer les macros"
' en dur dans l'écran Menu
'Revenons à l'ouverture du fichier
'Si macros pas ok , alors l'utilisateur ne verra que le message de la seule feuille visible
' si macro OK , alors envoi du formulaire de reconnaissance
'ceci via
'Private Sub Workbook_Open()
Re : Mot de passe dans Userform à l'ouverture d'un fichier excel
bonjour à tous
voici une base de fichier, issu de multiples conseils du forum, que j'utilise pour protéger l'accès de mes projets qui sont utilisés par un grand nombre d'intervenants à qui je donne des accès limités selon 3 niveaux
dans la démo j'ai désactivé le plein écran ainsi que la sauvegarde incrémentée automatique qui est programmée dans un dossier du disque C
les grands spécialistes du forum trouveront certainement des améliorations à apporter mais dans l'immédiat il me rend bien service
Re : Mot de passe dans Userform à l'ouverture d'un fichier excel
salut
je ne me suis pas intéressé aux diverses protections !
Pour le fun, j'ai essayé d'utiliser l'évènement "Change" des contrôles "Textbox" pour une continuité d'actions après saisies. Bien entendu il y a une suite à donner en fonction des exigences.