Protection du VBA par macro

  • Initiateur de la discussion Initiateur de la discussion Huvince
  • Date de début Date de début

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 !

H

Huvince

Guest
Bonjour,

Voici ma 1er appel à l'équipe...🙂
Je dois régulièrement mettre à disposition des Excel et je protège uniquement le code VBA qui est derrière car toutes les fonctions du Excel doivent reste disponible (sauf macro bien sur).

Pour ce faire je protège le code comme suit: dans Microsoft VB, je sélectionne outils/propriété .../protection
J'aimerai créer un code qui forcerait cette protection à l'ouverture du fichier (dans le cas ou j'aurai oublié de la mettre).

Quelque chose comme ceci sauf qu'il faudrait que se soit au niveau du VB et pas du classeur:
Private Sub Workbook_Open()
ActiveWorkbook.protect Password:="Chaine"
End Sub

Merci,

Vincent
 
Re : Protection du VBA par macro

bonjour Pierrot

les références ci-dessous sont-elles cochées

ref10.jpg


et pour deprotéger

Code:
Sub TestUnprotect()
UnprotectVBProject Workbooks("lefichier.xls"), "motdepasse"
End Sub
 
Dernière édition:
Re : Protection du VBA par macro

Gilbert, je viens de tester ton excel
C'est certainement une bêtise mais la macro se plante sur

Set vbProj = WB.VBProject
"Erreur 1004, l'accés par programme au projet VB n'est pas fiable"

Aurais-tu une idée.
 
Re : Protection du VBA par macro

Bonjour (ou re) à tous,

Pour ton problème (Huvince), il faut sûrement modifier une option dans la sécurité des macros d'Excel. Il s’agit de l’option « Accès approuvé au modèle d'objet du projet VBA »

Interface « Classique » : Outil > Macro > Sécurité > deuxième onglet

Interface « Ruban » : Options d’Exce l > Centre de gestion de la confidentialité > Paramètres du Centre de gestion de la confidentialité > Paramètre des macros

a+
 
Re : Protection du VBA par macro

Bonjour à tous, je tente de déterrer ce sujet car il est d'actualité pour moi.
Une question subsiste:
Si la personne qui reçoit ce fichier n'a pas l'option " Accès approuvé au modèle d'objet du projet VBA" de cochée, le code ne fonctionne donc pas...
J'imagine qu'il est impossible d'activer cette option par VBA (sécurité), mais peut-on "inviter" l'utilisateur à cocher cette option et empêcher tout autre code VBA de fonctionner si elle n'est pas activée ???
Peut-être devrais-je créer un nouveau sujet...
 
Re : Protection du VBA par macro

Bonjour Kiriko et le forum,

Kiriko je n'ai pas d'idée pour ta question. J'espère que tu auras une réponse à ta question intéressante.

J'ai une remarque sur le fonctionnement de Workbook_Open(). Si l'utilisateur désactive les macros lors de l'ouverture du classeur aucun code ne sera pris en compte et l'utilisateur aura alors accès au code si celui-ci n'a pas été protégé manuellement.

Pour ma part je rends le classeur inutilisable (en masquant en veryhidden les onglets) et le rends utilisable via Workbook_Open() pour forcer l'utilisateur à activer les macros. Le code est bien entendu protégé manuellement.

Bonne journée à tous.
 
Re : Protection du VBA par macro

Bonjour coco_lapin et le forum !
Ta solution m'intéresse, n'y connaissant à peu près rien, aurrais-tu éventuellement un fichier exemple ou une explication pour débutant de son application ?
Merci, et aussi bonne journée à tous !!
 
Re : Protection du VBA par macro

Voici un exemple,

Pour essayer le classeur ouvre le une fois sans activer les macros puis une autre fois en activant les macros.
Le classeur est rendu inutilisable lorsque l'utilisateur n'active pas les macros.

Le code est dans ThisWorkbook.

Sinon tu tapes "protection" dans l'outil de recherche du forum et tu trouveras pas mal de fil sur le sujet.
 

Pièces jointes

- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
15
Affichages
771
Retour