[Excel][webService] feuille de calcul

Résolu
nean_ Messages postés 6 Date d'inscription lundi 17 avril 2006 Statut Membre Dernière intervention 19 mars 2007 - 14 mars 2007 à 01:41
nean_ Messages postés 6 Date d'inscription lundi 17 avril 2006 Statut Membre Dernière intervention 19 mars 2007 - 19 mars 2007 à 23:57
Bonjour j'aurai besoin de conseils,

Je vais tout d'abord expliquer ce que j'ai à faire et ensuite ce que je voudrais faire.

Voilà je dois faire une feuille de calul tel un commande avec des champs différents, indiquant une réference de produit et d'autres chose, une fois ces champs indiquer je dois faire appel à des webservices pour obtenir les desciptifs du produit, dont le prix du moment. Pour cela j'ai des webservices publié par un serveur J2EE, j'ai donc ma wsdl, mais là n'est pas le problème.

Voilà j'arrive à faire appel à mes webservices dans une appli en c# avec l'aide de visual studio 2005 pour tester, mais mon problème est comment integrer cela à ma feuille excel. J'ai vu beaucoup de choses, mais toutes différentes des autres et les docs ne me donnent rien de précis, on me parle de addin, d'objets COM,... mais là j'y pert un peu mon latin car en même temps je découvre un peu le VBA et le C# ... Enfin bref j'aurai voulu avoir votre avis sur comment réaliser cela et des exemples ou de liens de doc me permettant d'avancer, car là ça fait 2 jours que je suis après cela mais je nage un peu et comme je n'ai pas beaucoup de temps .

Autrechose, je n'utilise pas WebService ToolKit pour office car j'ai des problèmes il ne fonctionne pas pour ma wsdl contrairement à visual Studio qui reconnait bien mes webservices et qui les utlises sans erreurs.

Merci pour l'aide que vous m'apporterez

8 réponses

ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
16 mars 2007 à 20:23
salut,

un truc que tu pourrais faire est de créer une dll (class library) avec visual studio contenant une classe qui appelle les web services et qui expose des méthodes pour retrouver tes infos...un wrapper en fait...ensuite tu marques la classe avec l'attribut ClassInterface.AutoDual et dans la config de ta dll tu mets "exposer à COM" et "générer une typelib"...ensuite dans vba tu ajoute une référence à ton projet .net....tu peux ensuite appeler ton wrapper qui appelera tes web services...ca t'évite de faire du soap en vba...mais bon c'est pas forcément propre...

ShareVB
3
nean_ Messages postés 6 Date d'inscription lundi 17 avril 2006 Statut Membre Dernière intervention 19 mars 2007
17 mars 2007 à 11:55
Merci pour cette petite astuce, car ce que j'ai fait finalement, ce qui est moins propre que ta solution, c'est que j'ai redéployé un webservice .net qui utilise mes methodes WS...
Et je fais appel avec webservice toolkit de office... Le seul soucis en VBA est que certains types encapsulé ne fonctionnenent pas, enfin bon j'arrive à passer des tableaux d'objets ce qui est déjà pas mal...

Merci quand même
3
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
18 mars 2007 à 17:34
salut,

je n'ai pas VS2005 en FR...donc dans les propriétés de ton projet : dans build, "register for COm interop" et dans Application, clique sur Assembly Information puis "Make assembly COM-visible"...en Fr je sais pas ce que ca peut donner mais c'est surement au même endroit...

ShareVB
3
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
19 mars 2007 à 22:36
salut,

pour exposer les méthodes d'une classe, et les avoir dans l'intellisense, tu as deux méthodes :
-> ajouter l'attribut [ClassInterface(ClassInterfaceType.AutoDual)]
-> déclarer tes méthodes dans une interface publique, lui ajouter l'attribut [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] puis implémenter ton interface dans ta classe

ShareVB
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nean_ Messages postés 6 Date d'inscription lundi 17 avril 2006 Statut Membre Dernière intervention 19 mars 2007
18 mars 2007 à 15:55
J'ai juste une petite question
"dans la config de ta dll tu mets "exposer à COM" et "générer une typelib""

Comment on fait ça sous Visual studio 2005 ?  Car je ne trouve vraiment pas là ...
0
nean_ Messages postés 6 Date d'inscription lundi 17 avril 2006 Statut Membre Dernière intervention 19 mars 2007
19 mars 2007 à 02:11
merci c'est bon ça fonctionne
0
nean_ Messages postés 6 Date d'inscription lundi 17 avril 2006 Statut Membre Dernière intervention 19 mars 2007
19 mars 2007 à 18:29
Bonjour,

j'ai à nouveau un autre petit soucis, cette fois c'est pour les objets que le "wraper" utilise utile aux webservices, en fait sous VBA j'ai bien le nom de mon objet, mais je n'ai pas ses champs, comment pourais les rendre visible sous VBA ?
0
nean_ Messages postés 6 Date d'inscription lundi 17 avril 2006 Statut Membre Dernière intervention 19 mars 2007
19 mars 2007 à 23:57
ok, bon d'accord, sinon la première solution est la plus simple, mais bon peut être pas la plus propre, mais vu ce que j'ai à faire, ça ne sert à rien de faire du propre...
0
Rejoignez-nous