Bonjour,
Je ne suis pas expert en VBA, mais on me fait la demande suivante:
Pouvoir masquer une feuille et la réafficher via un mot de passe, en une
manipulation.
J'ai trouvé la solution suivante et souhaiterais savoir si elle est pour
vous sécure:
A la fermeture du classeur, dans "this workbook":
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets("Feuil2").visible = xlSheetVeryHidden
End Sub
Dans un module, avec affectation de bouton à "Sub TestPW()"
Sub TestPW()
Dim Message, Title, Default, MyValue
' Définit le message.
Message = "Entrez un mot de passe"
Title = "AFFICHAGE DE VOTRE FEUILLE" ' Définit le titre.
Default = "*****"
' Affiche le message, le titre et la valeur par défaut et
' lance la macro Test si le mot de passe est MyPW
If InputBox(Message, Title, Default) = "xyz" Then
visible
Else
End If
End Sub
Private Sub visible()
Sheets("Feuil2").visible = xlSheetVisible
End Sub
Private Sub Hidden()
Sheets("Feuil2").visible = xlSheetVeryHidden
End Sub
Dans "Visual Basic Editor", j'ai fait un clic droit sur "VBAProject_le nom
de mon classeur" / "propriété" / "protection" / "vérouiller le projet pour
affichage" / "mot de passe pour l'affichage..." / j'ai rentré un mot de
passe afin que l'on ne puisse pas visualiser le mot de passe en clair sous
"Visual Basic Editor"
Merci de vos commentaires,
FRED.
Bonjour,
Je ne suis pas expert en VBA, mais on me fait la demande suivante:
Pouvoir masquer une feuille et la réafficher via un mot de passe, en une
manipulation.
J'ai trouvé la solution suivante et souhaiterais savoir si elle est pour
vous sécure:
A la fermeture du classeur, dans "this workbook":
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets("Feuil2").visible = xlSheetVeryHidden
End Sub
Dans un module, avec affectation de bouton à "Sub TestPW()"
Sub TestPW()
Dim Message, Title, Default, MyValue
' Définit le message.
Message = "Entrez un mot de passe"
Title = "AFFICHAGE DE VOTRE FEUILLE" ' Définit le titre.
Default = "*****"
' Affiche le message, le titre et la valeur par défaut et
' lance la macro Test si le mot de passe est MyPW
If InputBox(Message, Title, Default) = "xyz" Then
visible
Else
End If
End Sub
Private Sub visible()
Sheets("Feuil2").visible = xlSheetVisible
End Sub
Private Sub Hidden()
Sheets("Feuil2").visible = xlSheetVeryHidden
End Sub
Dans "Visual Basic Editor", j'ai fait un clic droit sur "VBAProject_le nom
de mon classeur" / "propriété" / "protection" / "vérouiller le projet pour
affichage" / "mot de passe pour l'affichage..." / j'ai rentré un mot de
passe afin que l'on ne puisse pas visualiser le mot de passe en clair sous
"Visual Basic Editor"
Merci de vos commentaires,
FRED.
Bonjour,
Je ne suis pas expert en VBA, mais on me fait la demande suivante:
Pouvoir masquer une feuille et la réafficher via un mot de passe, en une
manipulation.
J'ai trouvé la solution suivante et souhaiterais savoir si elle est pour
vous sécure:
A la fermeture du classeur, dans "this workbook":
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets("Feuil2").visible = xlSheetVeryHidden
End Sub
Dans un module, avec affectation de bouton à "Sub TestPW()"
Sub TestPW()
Dim Message, Title, Default, MyValue
' Définit le message.
Message = "Entrez un mot de passe"
Title = "AFFICHAGE DE VOTRE FEUILLE" ' Définit le titre.
Default = "*****"
' Affiche le message, le titre et la valeur par défaut et
' lance la macro Test si le mot de passe est MyPW
If InputBox(Message, Title, Default) = "xyz" Then
visible
Else
End If
End Sub
Private Sub visible()
Sheets("Feuil2").visible = xlSheetVisible
End Sub
Private Sub Hidden()
Sheets("Feuil2").visible = xlSheetVeryHidden
End Sub
Dans "Visual Basic Editor", j'ai fait un clic droit sur "VBAProject_le nom
de mon classeur" / "propriété" / "protection" / "vérouiller le projet pour
affichage" / "mot de passe pour l'affichage..." / j'ai rentré un mot de
passe afin que l'on ne puisse pas visualiser le mot de passe en clair sous
"Visual Basic Editor"
Merci de vos commentaires,
FRED.
A mon avis, on ne peut pas faire mieux ! La limite vient du fait que les
mots
de passe peuvent être contournés mais l'utilisateur moyen ne saura pas
faire,
et ne pourra pas voir la feuille cachée dans Format/Feuille/Afficher...
puisque tu l'as masquée en xlSheetVERYHidden.
Comme en plus tu as verrouillé le projet VBA à l'affichage, les propriétés
de la feuille ne sont pas accessible via VBE ou une autre macro.
Mais des gens plus compétents que moi trouveront peut-être une faille à
ton
code.
--
A+
V.
Bonjour,
Je ne suis pas expert en VBA, mais on me fait la demande suivante:
Pouvoir masquer une feuille et la réafficher via un mot de passe, en une
manipulation.
J'ai trouvé la solution suivante et souhaiterais savoir si elle est pour
vous sécure:
A la fermeture du classeur, dans "this workbook":
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets("Feuil2").visible = xlSheetVeryHidden
End Sub
Dans un module, avec affectation de bouton à "Sub TestPW()"
Sub TestPW()
Dim Message, Title, Default, MyValue
' Définit le message.
Message = "Entrez un mot de passe"
Title = "AFFICHAGE DE VOTRE FEUILLE" ' Définit le titre.
Default = "*****"
' Affiche le message, le titre et la valeur par défaut et
' lance la macro Test si le mot de passe est MyPW
If InputBox(Message, Title, Default) = "xyz" Then
visible
Else
End If
End Sub
Private Sub visible()
Sheets("Feuil2").visible = xlSheetVisible
End Sub
Private Sub Hidden()
Sheets("Feuil2").visible = xlSheetVeryHidden
End Sub
Dans "Visual Basic Editor", j'ai fait un clic droit sur "VBAProject_le
nom
de mon classeur" / "propriété" / "protection" / "vérouiller le projet
pour
affichage" / "mot de passe pour l'affichage..." / j'ai rentré un mot de
passe afin que l'on ne puisse pas visualiser le mot de passe en clair
sous
"Visual Basic Editor"
Merci de vos commentaires,
FRED.
A mon avis, on ne peut pas faire mieux ! La limite vient du fait que les
mots
de passe peuvent être contournés mais l'utilisateur moyen ne saura pas
faire,
et ne pourra pas voir la feuille cachée dans Format/Feuille/Afficher...
puisque tu l'as masquée en xlSheetVERYHidden.
Comme en plus tu as verrouillé le projet VBA à l'affichage, les propriétés
de la feuille ne sont pas accessible via VBE ou une autre macro.
Mais des gens plus compétents que moi trouveront peut-être une faille à
ton
code.
--
A+
V.
Bonjour,
Je ne suis pas expert en VBA, mais on me fait la demande suivante:
Pouvoir masquer une feuille et la réafficher via un mot de passe, en une
manipulation.
J'ai trouvé la solution suivante et souhaiterais savoir si elle est pour
vous sécure:
A la fermeture du classeur, dans "this workbook":
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets("Feuil2").visible = xlSheetVeryHidden
End Sub
Dans un module, avec affectation de bouton à "Sub TestPW()"
Sub TestPW()
Dim Message, Title, Default, MyValue
' Définit le message.
Message = "Entrez un mot de passe"
Title = "AFFICHAGE DE VOTRE FEUILLE" ' Définit le titre.
Default = "*****"
' Affiche le message, le titre et la valeur par défaut et
' lance la macro Test si le mot de passe est MyPW
If InputBox(Message, Title, Default) = "xyz" Then
visible
Else
End If
End Sub
Private Sub visible()
Sheets("Feuil2").visible = xlSheetVisible
End Sub
Private Sub Hidden()
Sheets("Feuil2").visible = xlSheetVeryHidden
End Sub
Dans "Visual Basic Editor", j'ai fait un clic droit sur "VBAProject_le
nom
de mon classeur" / "propriété" / "protection" / "vérouiller le projet
pour
affichage" / "mot de passe pour l'affichage..." / j'ai rentré un mot de
passe afin que l'on ne puisse pas visualiser le mot de passe en clair
sous
"Visual Basic Editor"
Merci de vos commentaires,
FRED.
A mon avis, on ne peut pas faire mieux ! La limite vient du fait que les
mots
de passe peuvent être contournés mais l'utilisateur moyen ne saura pas
faire,
et ne pourra pas voir la feuille cachée dans Format/Feuille/Afficher...
puisque tu l'as masquée en xlSheetVERYHidden.
Comme en plus tu as verrouillé le projet VBA à l'affichage, les propriétés
de la feuille ne sont pas accessible via VBE ou une autre macro.
Mais des gens plus compétents que moi trouveront peut-être une faille à
ton
code.
--
A+
V.
Bonjour,
Je ne suis pas expert en VBA, mais on me fait la demande suivante:
Pouvoir masquer une feuille et la réafficher via un mot de passe, en une
manipulation.
J'ai trouvé la solution suivante et souhaiterais savoir si elle est pour
vous sécure:
A la fermeture du classeur, dans "this workbook":
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets("Feuil2").visible = xlSheetVeryHidden
End Sub
Dans un module, avec affectation de bouton à "Sub TestPW()"
Sub TestPW()
Dim Message, Title, Default, MyValue
' Définit le message.
Message = "Entrez un mot de passe"
Title = "AFFICHAGE DE VOTRE FEUILLE" ' Définit le titre.
Default = "*****"
' Affiche le message, le titre et la valeur par défaut et
' lance la macro Test si le mot de passe est MyPW
If InputBox(Message, Title, Default) = "xyz" Then
visible
Else
End If
End Sub
Private Sub visible()
Sheets("Feuil2").visible = xlSheetVisible
End Sub
Private Sub Hidden()
Sheets("Feuil2").visible = xlSheetVeryHidden
End Sub
Dans "Visual Basic Editor", j'ai fait un clic droit sur "VBAProject_le
nom
de mon classeur" / "propriété" / "protection" / "vérouiller le projet
pour
affichage" / "mot de passe pour l'affichage..." / j'ai rentré un mot de
passe afin que l'on ne puisse pas visualiser le mot de passe en clair
sous
"Visual Basic Editor"
Merci de vos commentaires,
FRED.
Merci pour ta réponse.
Effectivement je suis dans l'attente de savoir si l'on peut le contourner
(je ne parle bien entendu pas des spécialiste du piratage ou autre
hackers!).
FRED.
"Vincnet." a écrit dans le message de news:A mon avis, on ne peut pas faire mieux ! La limite vient du fait que les
mots
de passe peuvent être contournés mais l'utilisateur moyen ne saura pas
faire,
et ne pourra pas voir la feuille cachée dans Format/Feuille/Afficher...
puisque tu l'as masquée en xlSheetVERYHidden.
Comme en plus tu as verrouillé le projet VBA à l'affichage, les propriétés
de la feuille ne sont pas accessible via VBE ou une autre macro.
Mais des gens plus compétents que moi trouveront peut-être une faille à
ton
code.
--
A+
V.
Bonjour,
Je ne suis pas expert en VBA, mais on me fait la demande suivante:
Pouvoir masquer une feuille et la réafficher via un mot de passe, en une
manipulation.
J'ai trouvé la solution suivante et souhaiterais savoir si elle est pour
vous sécure:
A la fermeture du classeur, dans "this workbook":
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets("Feuil2").visible = xlSheetVeryHidden
End Sub
Dans un module, avec affectation de bouton à "Sub TestPW()"
Sub TestPW()
Dim Message, Title, Default, MyValue
' Définit le message.
Message = "Entrez un mot de passe"
Title = "AFFICHAGE DE VOTRE FEUILLE" ' Définit le titre.
Default = "*****"
' Affiche le message, le titre et la valeur par défaut et
' lance la macro Test si le mot de passe est MyPW
If InputBox(Message, Title, Default) = "xyz" Then
visible
Else
End If
End Sub
Private Sub visible()
Sheets("Feuil2").visible = xlSheetVisible
End Sub
Private Sub Hidden()
Sheets("Feuil2").visible = xlSheetVeryHidden
End Sub
Dans "Visual Basic Editor", j'ai fait un clic droit sur "VBAProject_le
nom
de mon classeur" / "propriété" / "protection" / "vérouiller le projet
pour
affichage" / "mot de passe pour l'affichage..." / j'ai rentré un mot de
passe afin que l'on ne puisse pas visualiser le mot de passe en clair
sous
"Visual Basic Editor"
Merci de vos commentaires,
FRED.
Merci pour ta réponse.
Effectivement je suis dans l'attente de savoir si l'on peut le contourner
(je ne parle bien entendu pas des spécialiste du piratage ou autre
hackers!).
FRED.
"Vincnet." <vincnet.fallas@grrr.tss> a écrit dans le message de news:
21C2A680-6BB0-4D42-A57A-D2B99452AF58@microsoft.com...
A mon avis, on ne peut pas faire mieux ! La limite vient du fait que les
mots
de passe peuvent être contournés mais l'utilisateur moyen ne saura pas
faire,
et ne pourra pas voir la feuille cachée dans Format/Feuille/Afficher...
puisque tu l'as masquée en xlSheetVERYHidden.
Comme en plus tu as verrouillé le projet VBA à l'affichage, les propriétés
de la feuille ne sont pas accessible via VBE ou une autre macro.
Mais des gens plus compétents que moi trouveront peut-être une faille à
ton
code.
--
A+
V.
Bonjour,
Je ne suis pas expert en VBA, mais on me fait la demande suivante:
Pouvoir masquer une feuille et la réafficher via un mot de passe, en une
manipulation.
J'ai trouvé la solution suivante et souhaiterais savoir si elle est pour
vous sécure:
A la fermeture du classeur, dans "this workbook":
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets("Feuil2").visible = xlSheetVeryHidden
End Sub
Dans un module, avec affectation de bouton à "Sub TestPW()"
Sub TestPW()
Dim Message, Title, Default, MyValue
' Définit le message.
Message = "Entrez un mot de passe"
Title = "AFFICHAGE DE VOTRE FEUILLE" ' Définit le titre.
Default = "*****"
' Affiche le message, le titre et la valeur par défaut et
' lance la macro Test si le mot de passe est MyPW
If InputBox(Message, Title, Default) = "xyz" Then
visible
Else
End If
End Sub
Private Sub visible()
Sheets("Feuil2").visible = xlSheetVisible
End Sub
Private Sub Hidden()
Sheets("Feuil2").visible = xlSheetVeryHidden
End Sub
Dans "Visual Basic Editor", j'ai fait un clic droit sur "VBAProject_le
nom
de mon classeur" / "propriété" / "protection" / "vérouiller le projet
pour
affichage" / "mot de passe pour l'affichage..." / j'ai rentré un mot de
passe afin que l'on ne puisse pas visualiser le mot de passe en clair
sous
"Visual Basic Editor"
Merci de vos commentaires,
FRED.
Merci pour ta réponse.
Effectivement je suis dans l'attente de savoir si l'on peut le contourner
(je ne parle bien entendu pas des spécialiste du piratage ou autre
hackers!).
FRED.
"Vincnet." a écrit dans le message de news:A mon avis, on ne peut pas faire mieux ! La limite vient du fait que les
mots
de passe peuvent être contournés mais l'utilisateur moyen ne saura pas
faire,
et ne pourra pas voir la feuille cachée dans Format/Feuille/Afficher...
puisque tu l'as masquée en xlSheetVERYHidden.
Comme en plus tu as verrouillé le projet VBA à l'affichage, les propriétés
de la feuille ne sont pas accessible via VBE ou une autre macro.
Mais des gens plus compétents que moi trouveront peut-être une faille à
ton
code.
--
A+
V.
Bonjour,
Je ne suis pas expert en VBA, mais on me fait la demande suivante:
Pouvoir masquer une feuille et la réafficher via un mot de passe, en une
manipulation.
J'ai trouvé la solution suivante et souhaiterais savoir si elle est pour
vous sécure:
A la fermeture du classeur, dans "this workbook":
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets("Feuil2").visible = xlSheetVeryHidden
End Sub
Dans un module, avec affectation de bouton à "Sub TestPW()"
Sub TestPW()
Dim Message, Title, Default, MyValue
' Définit le message.
Message = "Entrez un mot de passe"
Title = "AFFICHAGE DE VOTRE FEUILLE" ' Définit le titre.
Default = "*****"
' Affiche le message, le titre et la valeur par défaut et
' lance la macro Test si le mot de passe est MyPW
If InputBox(Message, Title, Default) = "xyz" Then
visible
Else
End If
End Sub
Private Sub visible()
Sheets("Feuil2").visible = xlSheetVisible
End Sub
Private Sub Hidden()
Sheets("Feuil2").visible = xlSheetVeryHidden
End Sub
Dans "Visual Basic Editor", j'ai fait un clic droit sur "VBAProject_le
nom
de mon classeur" / "propriété" / "protection" / "vérouiller le projet
pour
affichage" / "mot de passe pour l'affichage..." / j'ai rentré un mot de
passe afin que l'on ne puisse pas visualiser le mot de passe en clair
sous
"Visual Basic Editor"
Merci de vos commentaires,
FRED.
Bonjour,
Je ne suis pas expert en VBA, mais on me fait la demande suivante:
Pouvoir masquer une feuille et la réafficher via un mot de passe, en une
manipulation.
J'ai trouvé la solution suivante et souhaiterais savoir si elle est pour
vous sécure:
A la fermeture du classeur, dans "this workbook":
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets("Feuil2").visible = xlSheetVeryHidden
End Sub
Dans un module, avec affectation de bouton à "Sub TestPW()"
Sub TestPW()
Dim Message, Title, Default, MyValue
' Définit le message.
Message = "Entrez un mot de passe"
Title = "AFFICHAGE DE VOTRE FEUILLE" ' Définit le titre.
Default = "*****"
' Affiche le message, le titre et la valeur par défaut et
' lance la macro Test si le mot de passe est MyPW
If InputBox(Message, Title, Default) = "xyz" Then
visible
Else
End If
End Sub
Private Sub visible()
Sheets("Feuil2").visible = xlSheetVisible
End Sub
Private Sub Hidden()
Sheets("Feuil2").visible = xlSheetVeryHidden
End Sub
Dans "Visual Basic Editor", j'ai fait un clic droit sur "VBAProject_le nom
de mon classeur" / "propriété" / "protection" / "vérouiller le projet pour
affichage" / "mot de passe pour l'affichage..." / j'ai rentré un mot de
passe afin que l'on ne puisse pas visualiser le mot de passe en clair sous
"Visual Basic Editor"
Merci de vos commentaires,
FRED.
Bonjour,
Je ne suis pas expert en VBA, mais on me fait la demande suivante:
Pouvoir masquer une feuille et la réafficher via un mot de passe, en une
manipulation.
J'ai trouvé la solution suivante et souhaiterais savoir si elle est pour
vous sécure:
A la fermeture du classeur, dans "this workbook":
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets("Feuil2").visible = xlSheetVeryHidden
End Sub
Dans un module, avec affectation de bouton à "Sub TestPW()"
Sub TestPW()
Dim Message, Title, Default, MyValue
' Définit le message.
Message = "Entrez un mot de passe"
Title = "AFFICHAGE DE VOTRE FEUILLE" ' Définit le titre.
Default = "*****"
' Affiche le message, le titre et la valeur par défaut et
' lance la macro Test si le mot de passe est MyPW
If InputBox(Message, Title, Default) = "xyz" Then
visible
Else
End If
End Sub
Private Sub visible()
Sheets("Feuil2").visible = xlSheetVisible
End Sub
Private Sub Hidden()
Sheets("Feuil2").visible = xlSheetVeryHidden
End Sub
Dans "Visual Basic Editor", j'ai fait un clic droit sur "VBAProject_le nom
de mon classeur" / "propriété" / "protection" / "vérouiller le projet pour
affichage" / "mot de passe pour l'affichage..." / j'ai rentré un mot de
passe afin que l'on ne puisse pas visualiser le mot de passe en clair sous
"Visual Basic Editor"
Merci de vos commentaires,
FRED.
Bonjour,
Je ne suis pas expert en VBA, mais on me fait la demande suivante:
Pouvoir masquer une feuille et la réafficher via un mot de passe, en une
manipulation.
J'ai trouvé la solution suivante et souhaiterais savoir si elle est pour
vous sécure:
A la fermeture du classeur, dans "this workbook":
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets("Feuil2").visible = xlSheetVeryHidden
End Sub
Dans un module, avec affectation de bouton à "Sub TestPW()"
Sub TestPW()
Dim Message, Title, Default, MyValue
' Définit le message.
Message = "Entrez un mot de passe"
Title = "AFFICHAGE DE VOTRE FEUILLE" ' Définit le titre.
Default = "*****"
' Affiche le message, le titre et la valeur par défaut et
' lance la macro Test si le mot de passe est MyPW
If InputBox(Message, Title, Default) = "xyz" Then
visible
Else
End If
End Sub
Private Sub visible()
Sheets("Feuil2").visible = xlSheetVisible
End Sub
Private Sub Hidden()
Sheets("Feuil2").visible = xlSheetVeryHidden
End Sub
Dans "Visual Basic Editor", j'ai fait un clic droit sur "VBAProject_le nom
de mon classeur" / "propriété" / "protection" / "vérouiller le projet pour
affichage" / "mot de passe pour l'affichage..." / j'ai rentré un mot de
passe afin que l'on ne puisse pas visualiser le mot de passe en clair sous
"Visual Basic Editor"
Merci de vos commentaires,
FRED.
Tout de même : si à la fermeture, l'utilisateur décide de ne pas
enregistrer,
la prochaine ouverture du fichier se fera avec la feuille affichée. Donc :
écrire une procédure qui masque à l'ouverture du fichier la feuille en
question.
Restera le point suivant. J'ouvre le fichier. J'appuie sur le bouton qui
m'affiche la page cachée. J'enregistre. Je ferme sans enregistrer. Je
rouvre
en désactivant les macros. Là, il n'y a rien à faire : la feuille est
affichée.
Une solution mais qui a une autre limite : forcée l'enregistrement du
fichier à la fermeture :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Worksheets("Feuil2").visible = xlSheetVeryHidden
ThisWorkbook.Save
End Sub
La limite, c'est que si l'utilisateur ne voulait pas enregistrer des
modifs... c'est raté pour lui. A toi de voir où seront tes priorités !
--
A+
V.Merci pour ta réponse.
Effectivement je suis dans l'attente de savoir si l'on peut le contourner
(je ne parle bien entendu pas des spécialiste du piratage ou autre
hackers!).
FRED.
"Vincnet." a écrit dans le message de news:A mon avis, on ne peut pas faire mieux ! La limite vient du fait que les
mots
de passe peuvent être contournés mais l'utilisateur moyen ne saura pas
faire,
et ne pourra pas voir la feuille cachée dans Format/Feuille/Afficher...
puisque tu l'as masquée en xlSheetVERYHidden.
Comme en plus tu as verrouillé le projet VBA à l'affichage, les
propriétés
de la feuille ne sont pas accessible via VBE ou une autre macro.
Mais des gens plus compétents que moi trouveront peut-être une faille à
ton
code.
--
A+
V.
Bonjour,
Je ne suis pas expert en VBA, mais on me fait la demande suivante:
Pouvoir masquer une feuille et la réafficher via un mot de passe, en
une
manipulation.
J'ai trouvé la solution suivante et souhaiterais savoir si elle est
pour
vous sécure:
A la fermeture du classeur, dans "this workbook":
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets("Feuil2").visible = xlSheetVeryHidden
End Sub
Dans un module, avec affectation de bouton à "Sub TestPW()"
Sub TestPW()
Dim Message, Title, Default, MyValue
' Définit le message.
Message = "Entrez un mot de passe"
Title = "AFFICHAGE DE VOTRE FEUILLE" ' Définit le titre.
Default = "*****"
' Affiche le message, le titre et la valeur par défaut et
' lance la macro Test si le mot de passe est MyPW
If InputBox(Message, Title, Default) = "xyz" Then
visible
Else
End If
End Sub
Private Sub visible()
Sheets("Feuil2").visible = xlSheetVisible
End Sub
Private Sub Hidden()
Sheets("Feuil2").visible = xlSheetVeryHidden
End Sub
Dans "Visual Basic Editor", j'ai fait un clic droit sur "VBAProject_le
nom
de mon classeur" / "propriété" / "protection" / "vérouiller le projet
pour
affichage" / "mot de passe pour l'affichage..." / j'ai rentré un mot
de
passe afin que l'on ne puisse pas visualiser le mot de passe en clair
sous
"Visual Basic Editor"
Merci de vos commentaires,
FRED.
Tout de même : si à la fermeture, l'utilisateur décide de ne pas
enregistrer,
la prochaine ouverture du fichier se fera avec la feuille affichée. Donc :
écrire une procédure qui masque à l'ouverture du fichier la feuille en
question.
Restera le point suivant. J'ouvre le fichier. J'appuie sur le bouton qui
m'affiche la page cachée. J'enregistre. Je ferme sans enregistrer. Je
rouvre
en désactivant les macros. Là, il n'y a rien à faire : la feuille est
affichée.
Une solution mais qui a une autre limite : forcée l'enregistrement du
fichier à la fermeture :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Worksheets("Feuil2").visible = xlSheetVeryHidden
ThisWorkbook.Save
End Sub
La limite, c'est que si l'utilisateur ne voulait pas enregistrer des
modifs... c'est raté pour lui. A toi de voir où seront tes priorités !
--
A+
V.
Merci pour ta réponse.
Effectivement je suis dans l'attente de savoir si l'on peut le contourner
(je ne parle bien entendu pas des spécialiste du piratage ou autre
hackers!).
FRED.
"Vincnet." <vincnet.fallas@grrr.tss> a écrit dans le message de news:
21C2A680-6BB0-4D42-A57A-D2B99452AF58@microsoft.com...
A mon avis, on ne peut pas faire mieux ! La limite vient du fait que les
mots
de passe peuvent être contournés mais l'utilisateur moyen ne saura pas
faire,
et ne pourra pas voir la feuille cachée dans Format/Feuille/Afficher...
puisque tu l'as masquée en xlSheetVERYHidden.
Comme en plus tu as verrouillé le projet VBA à l'affichage, les
propriétés
de la feuille ne sont pas accessible via VBE ou une autre macro.
Mais des gens plus compétents que moi trouveront peut-être une faille à
ton
code.
--
A+
V.
Bonjour,
Je ne suis pas expert en VBA, mais on me fait la demande suivante:
Pouvoir masquer une feuille et la réafficher via un mot de passe, en
une
manipulation.
J'ai trouvé la solution suivante et souhaiterais savoir si elle est
pour
vous sécure:
A la fermeture du classeur, dans "this workbook":
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets("Feuil2").visible = xlSheetVeryHidden
End Sub
Dans un module, avec affectation de bouton à "Sub TestPW()"
Sub TestPW()
Dim Message, Title, Default, MyValue
' Définit le message.
Message = "Entrez un mot de passe"
Title = "AFFICHAGE DE VOTRE FEUILLE" ' Définit le titre.
Default = "*****"
' Affiche le message, le titre et la valeur par défaut et
' lance la macro Test si le mot de passe est MyPW
If InputBox(Message, Title, Default) = "xyz" Then
visible
Else
End If
End Sub
Private Sub visible()
Sheets("Feuil2").visible = xlSheetVisible
End Sub
Private Sub Hidden()
Sheets("Feuil2").visible = xlSheetVeryHidden
End Sub
Dans "Visual Basic Editor", j'ai fait un clic droit sur "VBAProject_le
nom
de mon classeur" / "propriété" / "protection" / "vérouiller le projet
pour
affichage" / "mot de passe pour l'affichage..." / j'ai rentré un mot
de
passe afin que l'on ne puisse pas visualiser le mot de passe en clair
sous
"Visual Basic Editor"
Merci de vos commentaires,
FRED.
Tout de même : si à la fermeture, l'utilisateur décide de ne pas
enregistrer,
la prochaine ouverture du fichier se fera avec la feuille affichée. Donc :
écrire une procédure qui masque à l'ouverture du fichier la feuille en
question.
Restera le point suivant. J'ouvre le fichier. J'appuie sur le bouton qui
m'affiche la page cachée. J'enregistre. Je ferme sans enregistrer. Je
rouvre
en désactivant les macros. Là, il n'y a rien à faire : la feuille est
affichée.
Une solution mais qui a une autre limite : forcée l'enregistrement du
fichier à la fermeture :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Worksheets("Feuil2").visible = xlSheetVeryHidden
ThisWorkbook.Save
End Sub
La limite, c'est que si l'utilisateur ne voulait pas enregistrer des
modifs... c'est raté pour lui. A toi de voir où seront tes priorités !
--
A+
V.Merci pour ta réponse.
Effectivement je suis dans l'attente de savoir si l'on peut le contourner
(je ne parle bien entendu pas des spécialiste du piratage ou autre
hackers!).
FRED.
"Vincnet." a écrit dans le message de news:A mon avis, on ne peut pas faire mieux ! La limite vient du fait que les
mots
de passe peuvent être contournés mais l'utilisateur moyen ne saura pas
faire,
et ne pourra pas voir la feuille cachée dans Format/Feuille/Afficher...
puisque tu l'as masquée en xlSheetVERYHidden.
Comme en plus tu as verrouillé le projet VBA à l'affichage, les
propriétés
de la feuille ne sont pas accessible via VBE ou une autre macro.
Mais des gens plus compétents que moi trouveront peut-être une faille à
ton
code.
--
A+
V.
Bonjour,
Je ne suis pas expert en VBA, mais on me fait la demande suivante:
Pouvoir masquer une feuille et la réafficher via un mot de passe, en
une
manipulation.
J'ai trouvé la solution suivante et souhaiterais savoir si elle est
pour
vous sécure:
A la fermeture du classeur, dans "this workbook":
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets("Feuil2").visible = xlSheetVeryHidden
End Sub
Dans un module, avec affectation de bouton à "Sub TestPW()"
Sub TestPW()
Dim Message, Title, Default, MyValue
' Définit le message.
Message = "Entrez un mot de passe"
Title = "AFFICHAGE DE VOTRE FEUILLE" ' Définit le titre.
Default = "*****"
' Affiche le message, le titre et la valeur par défaut et
' lance la macro Test si le mot de passe est MyPW
If InputBox(Message, Title, Default) = "xyz" Then
visible
Else
End If
End Sub
Private Sub visible()
Sheets("Feuil2").visible = xlSheetVisible
End Sub
Private Sub Hidden()
Sheets("Feuil2").visible = xlSheetVeryHidden
End Sub
Dans "Visual Basic Editor", j'ai fait un clic droit sur "VBAProject_le
nom
de mon classeur" / "propriété" / "protection" / "vérouiller le projet
pour
affichage" / "mot de passe pour l'affichage..." / j'ai rentré un mot
de
passe afin que l'on ne puisse pas visualiser le mot de passe en clair
sous
"Visual Basic Editor"
Merci de vos commentaires,
FRED.