Partage
  • Partager sur Facebook
  • Partager sur Twitter

ActiveX avec .net et VBA, le futur...

    19 octobre 2018 à 10:28:12

    Bonjour,

    J'ai un projet pour le travail, et j'aimerai avoir des avis d'informaticiens extérieurs à propos de ce sujet.

    Mon projet consiste à developper un module (avec n'importe quelles languages que je veux) qui s'implémente dans une application VBA.

    Pour le moment, il y a une application d'interface graphique et de traitement de divers données qui est développé sous VBA (des macros Excel). Le but est de créer un module qui vient s'ajouter à cette application pour remplacer une partie de l'interface graphique. L'application Excel et mon module doivent pour communiquer ensemble. Par exemple, le script VBA peut instantier un objet de mon module. 

    Pour ce faire, je suis parti sur l'idée de créer une DLL sous C# en utilisant le framework .NET. Puis avec un activeX (COM) faire la liaison de la DLL à l'application sous VBA. Cette méthode marche mais après plusieurs recherches sur le web, j'ai l'impression que les ActiveX sont voué à disparaitre petit à petit...

    J'ai également penser à développer une DLL en C++ avec le framework Qt. Mais la liaison avec VBA est plus difficile voir même impossible avec Qt.

    Les questions sont les suivantes:

    • Les applications sous VBA (Excel) vont-elles devenir obsolètes ?
    • Les activeX avec COM vont-ils devenir obsolètes ?
    • Il y a t'il un autre moyen de faire communiquer une application sous VBA et une DLL sans utiliser d'Active X ?
    • Il y a t'il un autre moyen que de passer par une DLL ?
    • Le C#/.net est t'il la meilleur solution pour mon projet ?

    Je n'attends pas de réponse précise mais un avis générale sur le sujet...

    Merci d'avance pour vos réponses,

    Bastien

    -
    Edité par thebastien007 19 octobre 2018 à 10:29:52

    • Partager sur Facebook
    • Partager sur Twitter
      19 octobre 2018 à 16:14:21

      "Les activeX avec COM vont-ils devenir obsolètes ?"

      Ce n'est "vont devenir", c'est plutôt "c'est obsolète".

      L'obsolescence en développement logiciel, c'est plus le fait d'indiquer qu'une fonctionnalité est laissée là pour l'instant, mais que son usage est fortement déconseillée parce que ladite fonctionnalité pourrait disparaitre dans une release future.

      Concernant ActiveX, c'est déjà obsolète : Edge ne supporte plus ces extensions et même sous IE11, il me semble que ce n'était plus activé par défaut. Le nouveau modèle applicatif (Windows Store) n'a pas importé le support des ActiveX non plus.

      • Partager sur Facebook
      • Partager sur Twitter
        19 octobre 2018 à 16:15:56

        Vous posez le problème selon une approche qui correspond à votre solution actuelle.

        Je pense que vous devriez prendre un peu de recul sur votre solution.

        Votre solution actuelle profite à plein d'une manière de programmer qui n'est vraiment pas commune, en fin de compte.

        Vous utilisez quand-même, de manière plus ou moins direct, fait qu'un document (le document contenant les macro) soit capable, en interne, d'exécuter du code.

        Ce qui, généralement, n'est pas l'approche habituelle de concevoir une application, qui est plus un programme autonome en charge de générer ou modifier un document.

        S'il y a évolution de ce type de document, c'est bien au niveau de l'évolution des formats de document, de plus en plus interopérable, que cela se fera, donc sans l'avis de M$ qui n'a plus l'hégémonie d’antan dans le domaine.

        Donc si vous voulez toujours être dans une approche "Active Document", il faudra plutôt vous renseigner sur les évolutions possible du format du document, pas sur l'évolution possible de l'OS hébergeur.

        Vous avez donc fait plus un "Document VBA" qu'une "Application VBA".

        Vous pouvez toujours utiliser des trucs plus "conventionnels" comme des Plug-Ins dans l'application hôte ou une application "stand alone" pour générer des documents "passif", voir ne pas générer de document ou uniquement comme snapshot des données de l'"application".

        • Partager sur Facebook
        • Partager sur Twitter
        Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
          19 octobre 2018 à 16:39:22

          Qu'est que tu entends par "documents" car l'application qui est crée, a une interface graphique et gère des données ect... pour moi c'est une application... Et le but est de ne pas entièrement la redévelopper sous un autre langage... 

          -
          Edité par thebastien007 19 octobre 2018 à 16:39:40

          • Partager sur Facebook
          • Partager sur Twitter
            19 octobre 2018 à 17:12:13

            C'est quoi l'extension de fichier de ton "application" ?

            Le A, de VBA, c'est "pour application", et par application, on parle du programme hôte du document, il y a toujours un document dans un VBA, c'est le conteneur du code.

            -
            Edité par bacelar 19 octobre 2018 à 17:14:55

            • Partager sur Facebook
            • Partager sur Twitter
            Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.

            ActiveX avec .net et VBA, le futur...

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown