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 :

Charger code dynamiquement [XL-365]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2017
    Messages
    1 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juillet 2017
    Messages : 1 291
    Par défaut Charger code dynamiquement
    Bonjour,

    je me pose une question, peut-on charger dynamiquement du code dans un module à l'open d'un fichier

    Je m'explique

    Les utilisateurs ont créé des fichiers par mon application, ces fichiers sont créés par copie à partir d'un fichier "modèle"

    Dans ce fichier "modèle" il y un module particulier qui vient d'évoluer et qui doit être pris en compte dans les anciennes créations.

    Je me demande s'il est possible à l'open des anciens fichiers de remplacer complétement le code de ce module

    pas sur...

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 527
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 527
    Par défaut
    Salut,

    C'est possible, en programmant l'IDE via la bibliothèque VBIDE.
    Mais cela amène une autre question:
    As-tu le niveau suffisant pour t'engager dans une programmation "délicate" ?
    Qu'on se comprenne, programmer l'IDE est difficile, source d'erreur sévères, voir de corruption.

  3. #3
    Membre éprouvé
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2017
    Messages
    1 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juillet 2017
    Messages : 1 291
    Par défaut
    Bonjour

    merci de ta réponse mais je ne vais pas me lancer la dedans, trop risqué

    Je vais m'arranger autrement, un top dans la nouvelle version qui me permettra de savoir si le code est l'ancien ou le nouveau et modifier l'application pour traiter ce top différemment

    Et les anciennes versions vont mourir tranquillement au fil du temps

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Ce qui est possible n'est pas toujours conseillé.

    Pour pouvoir atteindre l'éditeur de VBA il faut d'abord référencer une bibliothèque et de plus il fait activer un option qui est propre à chaque PC qui contient le code donc je pense qu'il faut l'oublier
    En plus de 20 ans de pratique, je n'ai jamais dû faire de la suppression ou de l'intégration de code dynamiquement chez le client

    Si vous programmez régulièrement, vous pouvez toujours prévoir ce type d'opération chez vous pour automatiser le chargement des nouvelles versions et suppression des anciennes et ensuite envoyer la nouvelle version à vos clients.
    Si vous avez beaucoup d'applications et que vous voulez envoyer de nouvelles versions il est préférable alors d'utiliser des Add-In's (communément appelée Macros complémentaires) (voir liens vers mes différents billets à ce sujet plus bas)
    Pour savoir si le client a la dernière version, prévoyez une feuille où vous lister l'historique des versions avec une colonne contenant la date, une autre avec le n° de version, feuille que vous pouvez cacher, et à l'aide de la fonction MAX d'excel vous pouvez afficher au démarrage le n° de version soit dans une cellule de la feuille d'accueil soit dans la barre d'état, etc.

    Si vous voulez en savoir plus pour manipuler l'éditeur VBE avec du code, je vous conseille la lecture de Visual Basic Editor

    Quelques billets sur les Macros-complémentaires
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Morceaux de code dynamique
    Par Celeborn dans le forum C++
    Réponses: 3
    Dernier message: 11/06/2009, 20h50
  2. Générer du code dynamiquement
    Par seb-oulba dans le forum Langage
    Réponses: 2
    Dernier message: 04/04/2006, 23h26
  3. [VB6] générer du code dynamiquement
    Par nils.angot dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 10/03/2006, 08h40
  4. Introspection et création de code dynamiquement ?
    Par elitost dans le forum API standards et tierces
    Réponses: 10
    Dernier message: 17/10/2005, 22h43
  5. Interprétation de code dynamiquement
    Par Smeuuh dans le forum Langages de programmation
    Réponses: 19
    Dernier message: 29/09/2005, 09h32

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