Bonjour,
Quelqu'un d'entre vous connait-il un code VBA qui permette de vérifier si la case option « Accès approuvé au modèle d'objet du projet VBA" située dans le centre de gestion de la confidentialité - paramètres des macros - paramètres de macros pour les développeurs est validée et la valider si besoin ?
Je vous remercie par avance
Bonjour,
Je me suis déjà posé la question. Je ne vois pas d'autre solution pour utiliser le bout de code suivant :
"If ThisWorkbook.VBProject.Protection = vbext_pp_none Then ..."
L'objectif est de vérifier pour n'importe quel utilisateur d'un classeur excel que le mot de passe du projet VBA est toujours présent..
Si tu as une solution je suis preneur..
re
bonjour
ben non justement il n'y en a pas et heureusement d'ailleurs
si on pouvait dé sécuriser par vba dis moi un peu a quoi pourrait elle bien servir cette sécurité?
imagine si c'etait possible
je trouve un de tes fichiers avec mot de passe dans project
je ne peux donc pas voir les codes
avec un autre classeur je coche ou decoche ce point par vba
je voir les codes et ouvrir ton project et donc voir le mot de passe
qu'est ce qu'il en reste te ta sécurité?
ben .......peau de banane et les fils de la banane t'en fait des scoubidoubidou
alors déjà que elle est infiniment mince cette sécurité, si on pouvait aussi facilement la contourner ce serait comique
c'est plus clair ?
bien que il existe des outils gratuit pour faire sauter les MDP dans le project d'un classeur excel
moyen des petites manips pas très compliquées
justement il est possible de faire sauter les mots de passe projet VBA.. et donc l'objectif est d'affecter obligatoirement un mot de passe à chaque fois que le classeur est ouvert pour nne pas que le code soit lu et/ou modifié
re
heu.... comment te dire heu....
tu tourne en rond là
on ne peut pas cocher ou décocher cet option par vba
donc ton test va planter si ca n'est pas coché
si il y avait moyen de cocher il y aurait moyen de faire sauter ce test
conclusion tu tourne en rond
tourne la roue de l'autobus
tourne tourne tourne
tourne la roue de l'autobus
si tu pige pas je crois que l'on peut plus rien pour toi
'propriétés utilisées pour gérer l'option 'Accès approuvé au modèle d'objet du projet VBA' d'Excel
Public Property Let VbomAccess(p_b_value As Boolean)
Static s_o_wshShell As Object 'IWshRuntimeLibrary.WshShell de la référence 'Windows Script Host Object Model'
Static s_s_keyName As String
If s_o_wshShell Is Nothing Then Set s_o_wshShell = CreateObject("WScript.Shell")
If s_s_keyName Like vbNullString Then s_s_keyName = "HKEY_CURRENT_USER\Software\Microsoft\Office\" & Application.Version & "\Excel\Security\AccessVBOM"
s_o_wshShell.RegWrite s_s_keyName, -CLng(p_b_value), "REG_DWORD"
End Property
Public Property Get VbomAccess() As Boolean
Static s_o_wshShell As Object 'IWshRuntimeLibrary.WshShell de la référence 'Windows Script Host Object Model'
Static s_s_keyName As String
If s_o_wshShell Is Nothing Then Set s_o_wshShell = CreateObject("WScript.Shell")
If s_s_keyName Like vbNullString Then s_s_keyName = "HKEY_CURRENT_USER\Software\Microsoft\Office\" & Application.Version & "\Excel\Security\AccessVBOM"
VbomAccess = s_o_wshShell.RegRead(s_s_keyName)
End Property
Ainsi, tu peux utiliser cette propriété ainsi :
VB:
...
'si l'option n'est pas cochée, la cocher
If Not VbomAccess Then VbomAccess = True
...
Après d'autres test, ce code n'a pas l'air de fonctionner...
Même si visuellement l'état de la CheckBox change, cela n'a pas l'air de changer vraiment l'option...
On dirait qu'Excel garde en mémoire l'état à l'ouverture et le remet au même état à la fermeture.
Il faudrait donc exécuter ce code en-dehors de Excel, avec toutes ses instances de fermées...
Après d'autres test, ce code n'a pas l'air de fonctionner...
Même si visuellement l'état de la CheckBox change, cela n'a pas l'air de changer vraiment l'option...
On dirait qu'Excel garde en mémoire l'état à l'ouverture et le remet au même état à la fermeture.
Il faudrait donc exécuter ce code en-dehors de Excel, avec toutes ses instances de fermées...
re
Bonjour Bruno
ben c'est assez simple en fait avec WinRar et son module SFX et en plus on peut mettre un mot de passe
et on peut mettre un icon perso