VBA Excel - Consolider le code source
zapp56
-
cs_Le Pivert Messages postés 7904 Date d'inscription Statut Contributeur Dernière intervention -
cs_Le Pivert Messages postés 7904 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je travaille sur Excel 2003. J'ai développé une application qui exploite :
-L'IDE d'excel pour le développement des macros et userforms;
-Les feuilles Excel pour le stockage de données;
Ce programme va servir à plusieurs utilisateurs à mon travail.
J'aimerais "consolider" mon fichier afin que les utilisateurs ne puissent pas "trifouiller" dedans. Autrement dit, le compiler, ou peu importe comment s'appellerait la manipulation.
Mon objectif :
- Forcer l'exploitation des macros, même si celles-ci sont désactivées chez l'utilisateur (pour éviter la consultation/modification des feuilles)
- Empêcher un petit malin de passer par des éditeurs hexadécimaux pour cracker le mot de passe de protection de mon script et de mes feuilles,
- Interdire l'accès au code source.
Si vous aviez une façon de parvenir à mes objectifs, merci de me les faire parvenir.
Cordialement.
Je travaille sur Excel 2003. J'ai développé une application qui exploite :
-L'IDE d'excel pour le développement des macros et userforms;
-Les feuilles Excel pour le stockage de données;
Ce programme va servir à plusieurs utilisateurs à mon travail.
J'aimerais "consolider" mon fichier afin que les utilisateurs ne puissent pas "trifouiller" dedans. Autrement dit, le compiler, ou peu importe comment s'appellerait la manipulation.
Mon objectif :
- Forcer l'exploitation des macros, même si celles-ci sont désactivées chez l'utilisateur (pour éviter la consultation/modification des feuilles)
- Empêcher un petit malin de passer par des éditeurs hexadécimaux pour cracker le mot de passe de protection de mon script et de mes feuilles,
- Interdire l'accès au code source.
Si vous aviez une façon de parvenir à mes objectifs, merci de me les faire parvenir.
Cordialement.
A voir également:
- VBA Excel - Consolider le code source
- Code ascii - Guide
- Liste déroulante excel - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Word et excel gratuit - Guide
- Code puk bloqué - Guide
1 réponse
Bonjour,
Pour:
Forcer l'exploitation des macros, même si celles-ci sont désactivées chez l'utilisateur (pour éviter la consultation/modification des feuilles)
Allez dans ThisWorkbook et mettre ceci:
Pour:
Empêcher un petit malin de passer par des éditeurs hexadécimaux pour cracker le mot de passe de protection de mon script et de mes feuilles,
- Interdire l'accès au code source.
Allez dans l'éditeur, Outils, Propriété de VBA Project, Protection et protéger les macros par un mot de passe.
Il faut toutefois savoir que pour un utilisateur expérimenté cette protection peut être contournée. Mais est ce que le jeu en vaut la chandelle?
Pour:
Forcer l'exploitation des macros, même si celles-ci sont désactivées chez l'utilisateur (pour éviter la consultation/modification des feuilles)
Allez dans ThisWorkbook et mettre ceci:
Option Explicit Private Sub Workbook_BeforeClose(Cancel As Boolean) 'on rétabli à la fermeture ThisWorkbook.IsAddin = True End Sub Private Sub Workbook_Open() 'empêcher l'affichage d'un classeur s'il est ouvert alors que l'exécution 'des macros est désactivée dans les options de sécurité ThisWorkbook.IsAddin = False End Sub
Pour:
Empêcher un petit malin de passer par des éditeurs hexadécimaux pour cracker le mot de passe de protection de mon script et de mes feuilles,
- Interdire l'accès au code source.
Allez dans l'éditeur, Outils, Propriété de VBA Project, Protection et protéger les macros par un mot de passe.
Il faut toutefois savoir que pour un utilisateur expérimenté cette protection peut être contournée. Mais est ce que le jeu en vaut la chandelle?
Je souhaiterais en profiter pour renchérir sur une autre question.
Disons que j'ai affaire à des... hum... utilisateurs ^^...
Ceux-ci utilisent souvent Excel pour des tâches diverses, et peuvent être amenés à interrompre leur travail pour utiliser mon application.
Dans ce cas, Excel étant déjà ouvert, le fameux message "Impossible d'insérer un contrôle ActiveX" s'affiche, et mon programme ne s'ouvre pas. Est-il possible de contourner ce problème ?
Cordialement.
https://docs.microsoft.com/fr-fr/office/vba/api/excel.application.displayalerts?redirectedfrom=MSDN
Je ne comprends pas, si les macros sont activées, il n'y a pas de message d'erreur!
Si elles sont désactivées le classeur ne s'ouvre pas!
"Un composant ActiveX ne peut pas créer d'objet"
Effectivement, je n'avais pas songé au application.displayalerts...
Mais il m'avait semblé que ce message arrive lors de l'ouverture d'un classeur avec userform alors que excel est déjà ouvert...
https://support.microsoft.com/fr-fr/help/244264