IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Problèmes de renommage dynamique de contrôles de formulaire


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2015
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2015
    Messages : 99
    Par défaut Problèmes de renommage dynamique de contrôles de formulaire
    Bonjour

    Je suis en train de créer un programme en VBA EXCEL pour "obfusquer" le code d'un autre classeur (assez "précieux" : près d'un an de travail, 7 j / 7 à raison de 14 à 17 h / jour ).

    Pour simplifier, j'exporte par programme tous les modules de mon classeur à obfusquer et je les recopie dans des onglets Excel.
    J'analyse ensuite le tout pour identifier les variables, les constantes, les textes entre doubles-guillemets, les commentaires, les types, les fonctions, les procédures, mais aussi les différents "objets" dans les UserForms ("controls") et les feuilles de calcul ("shapes" et "objets OLE").
    Je crée enfin autant de nouveaux noms "illisibles" qu'il se doit et j'applique ces nouveaux noms au contenu de chacun de mes onglets.
    Pour terminer, je ré-importe le tout dans le classeur que je souhaite obfusquer.

    Je croyais être arrivé au bout de ma peine, mais je suis bloqué quand je veux renommer les "controls" des Userforms ainsi que les "shapes" et autres objets OLE de mon classeur à obfusquer.
    Ma syntaxe est bonne (les instructions marchent en mode "arrêt") mais dès que je passe en mode exécution, je me retrouve avec le message suivant (notamment quand je veux modifier le nom d'un "control" d'un UserForm) :
    "-2147319767 Impossible de définir la propriété Name. Référence future non valide, ou référence à un type non compilé."

    Je ne trouve aucune référence à cette erreur sur Google.

    Quand ça se plante, je ne peux pas entrer en mode "debug" (j'ai donc fait plein de "print" de traces...) du fait que le code de mon autre classeur est en cours de transformation et donc forcément plein d'anomalies.
    J'ai désactivé la compilation automatique et le contrôle de syntaxe à la saisie. Ca ne change rien.
    J'ai également essayé de mettre mon "classeur à obfusquer" dans un emplacement non approuvé, en vain.

    Est-ce quelqu'un aurait une piste ?
    Je ne crois pas que mettre ici une copie de mon code servirait à grand chose : j'ai l'impression que mon problème est de pouvoir manipuler par programme le code VBA d'un autre classeur et que celui-ci reste "passif" (qu'il n'essaye pas de se recompiler au fil de l'eau, que ses évènements ne se déclenchent pas, etc.).

    Un grand merci d'avance pour vos réponses
    Gilbert

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Pas sur Google ? Pas de problème. Juste à prendre le bon; celui de MSDN.


    1) https://msdn.microsoft.com
    2) cliquer sur la loupe, en haut à droite
    3) Inscrire -2147319767 et Enter. Sinon, cela ne marche pas
    4) Contempler la liste.

  3. #3
    Membre confirmé
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2015
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2015
    Messages : 99
    Par défaut
    Bonjour Clément

    Merci pour votre suggestion, mais en fait rechercher "-2147319767" sur MSDN ramène 6 750 000 résultats apparemment sans rapport avec ma question (j'ai parcouru les 10 premières pages) et "Excel" n'est même pas proposé dans la liste des sujets.
    Ou alors je ne sais pas utiliser MSDN !?

    Gilbert

  4. #4
    Membre émérite
    Homme Profil pro
    Directeur
    Inscrit en
    Avril 2003
    Messages
    724
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur

    Informations forums :
    Inscription : Avril 2003
    Messages : 724
    Par défaut
    Salut,

    et si tu mettais ton code et tes UserForm dans un fichier de macro complémentaire au format .xlam, ils ne seraient pas protégés?

    Cordialement,

  5. #5
    Membre confirmé
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2015
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2015
    Messages : 99
    Par défaut
    Bonjour Philippe

    Je croyais (mais je me trompe peut-être) que si les macros complémentaires étaient difficilement accessibles pour un utilisateur lambda, elles n'offraient aucune protection contre un utilisateur chevronné ?

    Suis-je à côté de la plaque ?

    Salutations cordiales
    Gilbert

Discussions similaires

  1. [AC-2007] Atteindre dynamiquement les contrôles d'un formulaire
    Par Baapt dans le forum VBA Access
    Réponses: 2
    Dernier message: 03/02/2014, 13h22
  2. Contrôle de formulaire dynamique
    Par yann18 dans le forum jQuery
    Réponses: 3
    Dernier message: 06/07/2010, 17h20
  3. ajout dynamique de contrôle dans un formulaire
    Par celiaaa dans le forum IHM
    Réponses: 2
    Dernier message: 26/02/2007, 19h23
  4. [Rave Report] problème de création dynamique
    Par Nivux dans le forum Rave
    Réponses: 2
    Dernier message: 24/05/2003, 00h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo