VBA Excel - Consolider le code source

Fermé
zapp56 - 6 janv. 2016 à 16:57
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 - 28 janv. 2016 à 12:30
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.
A voir également:

1 réponse

cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
6 janv. 2016 à 18:09
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:

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?



0
Super ! Merci je vais plancher sur l'AddIn ces prochains jours...
0
Test concluant !!! Merci beaucoup.

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.
0
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
20 janv. 2016 à 16:57
Voir ceci:

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!
0
ERRATUM : le message d'erreur cité est incorrect. Plutôt celui-ci :
"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...
0
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
21 janv. 2016 à 18:03
Le message provient d'une erreur dans le code:

https://support.microsoft.com/fr-fr/help/244264
0