[Excel][webService] feuille de calcul [Résolu]

nean_ 6 Messages postés lundi 17 avril 2006Date d'inscription 19 mars 2007 Dernière intervention - 14 mars 2007 à 01:41 - Dernière réponse : nean_ 6 Messages postés lundi 17 avril 2006Date d'inscription 19 mars 2007 Dernière intervention
- 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
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
ShareVB 2717 Messages postés vendredi 28 juin 2002Date d'inscription 13 janvier 2016 Dernière intervention - 16 mars 2007 à 20:23
3
Merci
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

Merci ShareVB 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 96 internautes ce mois-ci

Commenter la réponse de ShareVB
Meilleure réponse
nean_ 6 Messages postés lundi 17 avril 2006Date d'inscription 19 mars 2007 Dernière intervention - 17 mars 2007 à 11:55
3
Merci
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

Merci nean_ 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 96 internautes ce mois-ci

Commenter la réponse de nean_
Meilleure réponse
ShareVB 2717 Messages postés vendredi 28 juin 2002Date d'inscription 13 janvier 2016 Dernière intervention - 18 mars 2007 à 17:34
3
Merci
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

Merci ShareVB 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 96 internautes ce mois-ci

Commenter la réponse de ShareVB
Meilleure réponse
ShareVB 2717 Messages postés vendredi 28 juin 2002Date d'inscription 13 janvier 2016 Dernière intervention - 19 mars 2007 à 22:36
3
Merci
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

Merci ShareVB 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 96 internautes ce mois-ci

Commenter la réponse de ShareVB
nean_ 6 Messages postés lundi 17 avril 2006Date d'inscription 19 mars 2007 Dernière intervention - 18 mars 2007 à 15:55
0
Merci
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à ...
Commenter la réponse de nean_
nean_ 6 Messages postés lundi 17 avril 2006Date d'inscription 19 mars 2007 Dernière intervention - 19 mars 2007 à 02:11
0
Merci
merci c'est bon ça fonctionne
Commenter la réponse de nean_
nean_ 6 Messages postés lundi 17 avril 2006Date d'inscription 19 mars 2007 Dernière intervention - 19 mars 2007 à 18:29
0
Merci
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 ?
Commenter la réponse de nean_
nean_ 6 Messages postés lundi 17 avril 2006Date d'inscription 19 mars 2007 Dernière intervention - 19 mars 2007 à 23:57
0
Merci
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...
Commenter la réponse de nean_

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.