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

VBA Discussion :

Communication VBA / Java


Sujet :

VBA

  1. #1
    Membre confirmé Avatar de Claythest
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    558
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 558
    Points : 554
    Points
    554
    Par défaut Communication VBA / Java
    Bonjour tout le monde,

    Venant du monde Java, je n'ai que très peu de connaissances en VBA...

    J'aimerai faire communiquer Word et Excel (principalement) avec mon application développée en Java. J'aimerai bien (dites moi si je me trompe) ajouter un menu spécifique, qui permette de faire différentes action sur le fichier en cours d'édition, comme par exemple ajouter un graphique ou un tableau, graphique ou tableau dont les valeurs seront demandées à l'application Java, qui sera en cours d'exécution sur la machine locale.

    Comment pourrai-je m'y prendre ? Quelles sont les différentes solutions à ma disposition ?

    J'ai vu qu'on pouvait communiquer via les sockets, mais n'existe-t-il pas une bibliothèque déjà toute faite permettant de coder le moins possible et donc d'avoir le moins de bugs possible

    Merci d'avance pour vos réponses

  2. #2
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Dans un premier temps, il faut que le programme Java soit en mesure de passer des informations à Word ou Excel et que ceux-ci puissent les demander. Il faudrait donc que l'application Java développée se comporte comme n'importe quel autre objet automation-able, par exemple sous forme de liaison OLE (ocx).

    Il me semble que tu devrais déjà poser ta question dans le forum Java afin de faire en sorte que ton application puisse être utilisée par n'importe quelle autre application win32.

  3. #3
    Membre confirmé Avatar de Claythest
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    558
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 558
    Points : 554
    Points
    554
    Par défaut
    Merci pour ta réponse

    J'ai créé un topic similaire ici (pour ceux que ça intéresse) : http://www.developpez.net/forums/d90...tion-vba-java/

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 271
    Points
    34 271
    Par défaut
    Salut,
    la methode que j'avais mise en place dans un precedent projet est le passage par un 3e langage avec lequel on passe des parametres aisement : batch
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  5. #5
    Membre confirmé Avatar de Claythest
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    558
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 558
    Points : 554
    Points
    554
    Par défaut
    Merci pour ta réponse jpcheck

    En fait, j'ai bien trouvé le moyen de communiquer par socket, le problème étant que winsock a été désactivé sur les derniers windows, et que donc il faut payer et installer une bibliothèque permettant de se connecter à des sockets via VBA (il en existe plusieurs disponibles sur le marché...).

    Comme mon application se veut "client léger" (c'est en fait une application qui se télécharge et s'exécute directement, sans installation - JavaWebStart), installer un bout de programme sur la machine foutrait toute cette logique en l'air...

    Donc grâce à ton idée jpcheck, j'ai en fait bidouillé !!!

    J'ai développé un petit programme en Java qui se charge de faire la communication avec mon application puis écrit le résultat dans un fichier (dont l'adresse est passé en paramètre). Ce programme Java est téléchargé par le "client léger" Java et collé dans le répertoire temporaire du système. La macro VBA n'a plus qu'a exécuter ce programme Java avec les bons paramètres, puis à aller lire le fichier contenant les résultats

    Grosse magouille donc, mais qui fonctionne, et ce de manière totalement transparente pour l'utilisateur Mais bon, comme dans toutes les magouilles, la gestion des erreurs est délicate...

    Donc merci pour votre aide

  6. #6
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 271
    Points
    34 271
    Par défaut
    Nickel,
    tu as donc trouve l'etape suivante a ton projet : gestion d'erreurs quand tu nous tiens
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

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

Discussions similaires

  1. Communication VBA / Java
    Par Claythest dans le forum Général Java
    Réponses: 4
    Dernier message: 05/05/2010, 10h50
  2. Communication entre java et VB : prob de socket
    Par haffouff dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 30/04/2007, 23h14
  3. Réponses: 2
    Dernier message: 26/07/2006, 12h28
  4. [Excel][VBA][Java] Appeler un objet java
    Par ay_pepito dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 29/07/2005, 15h46
  5. Communication C-Java avec Orbit
    Par damsh dans le forum CORBA
    Réponses: 4
    Dernier message: 05/06/2004, 00h24

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