Je cherche comme toi, d'où les questions peut-être un peu stupide.. :oops:
Tu a bien un indice zéro ? parcequ'avec ce que tu dit, c'est bien référencé, non ?
Version imprimable
Je cherche comme toi, d'où les questions peut-être un peu stupide.. :oops:
Tu a bien un indice zéro ? parcequ'avec ce que tu dit, c'est bien référencé, non ?
Oui il existe bien un indice 0 pas d'erreur de référencement et j'ai vérifié en testant directement la bibliothèque C#
A cour d'idée pour le moment, c'est quelque fois bète comme choux mais faut tomber dessus.
A+
Edit: j'ai relu tout les postes de la discution et suis retombé sur..
La 1ère fois je n'avais pas remarquer la différence entre les deux.Citation:
Alors pour "t" il me dit que c'est un tableau de DataObject
Et pour "TS" il me dit que c'est un DataObject
Mon avis que c'est quand même de ce côté là qu'il faut creuser.
Dans t tu a bien le tableau et dans TS un élément du tableau, s'agit de trouver comment le ressortir.
Tu devrais peut-être approfondir la question sur le lien de MSDN.
Edit 2:
J'ai trouvé ça...
Il faut activer la référence Microsoft ActiveX Data Objects 2.0 Library
et tu peu alors mettre
Dim t As DataObject
Dim TB As DataObject
Après test, il refuse toujours de mettre les informations dans un DataObject.
Cependant en bidouillant je me suis rendu compte qu'il connait le bon type de mes objets mais que ce qu'il sort du tableau il ne le considère pas comme un objet. Est que c'est possible de le forcer ?
Peine réduite ou à perpétuité..:PCitation:
Est que c'est possible de le forcer ?
Non, je pense pas. Faudra employer la bonne syntaxe.
Vu que tu donne les types des variables qui sont en DataObject, j'ai continuer une recherche la dessus..
1°) en VBA il faut aussi ajouter "Microsoft Forms 2.0 Object Library"
2°) DataObject est une méthode de MSForms.
3°) il faut donc déclarer
Dim t As New MSForms.DataObject
Après... heuuu :lol:
Faute d'idée je te suggère de poser également la question sur les dataobjects dans le forum VB6. Si tu as une réponse il nous sera plus facile de convertir ça en VBA. Précise tout de même que tu as posé la question sur le forum VBA Excel, "sans" résultat (!)
Bonne chance
Bon, comme je suis occupé à tourner en rond :cfou::furieux:
j'ai examiné ton code en C, tu a bien une méthode publique qui te renvoi une donnée (ou qui l'initialise) mais ta méthode "Absence" ne te renvoi pas un objet !! mais un accès commun. Mais je peu me tromper !! y a longtemps que j'ai plus fait du C
J'essayerais
et voir ce que ça donneCode:
1
2
3dim t,R t = infPresta.absence R = t.nom
sollicité par ousk, je donne juste mon avis au passage
une classe en C# dans VBA2003, pourquoi pas ...
Moi, j'aurais fait ça en Delphi, avec une interface en asp et un convertisseur en Qt, ça aurait été plus simple ! :aie:
Sinon, un objet de classe s'instancie en VB comme en VBA par
bon courage ;)Code:
1
2 Dim MonObjet as MaClasse Set mon Objet = new MaClasse
Oui j'avais essayer d'instancier ainsi mais j'ai rencontrer des problèmes :
- d'abord me suis contenté de mettre "Dim t as pType" cependant cette classe étant défini dans la macro complémentaire elle n'était pas reconnu
- j'ai ensuite essayer de créer une classe du même nom avec les même paramètres et d'utiliser un objet de cette classe pour récupérer les données masi cette fois il refusait en disant que c'etait pas le même type
Je répète, j'ai juste donner mon avis
Et depuis que les objets existent, je ne connais pas d'autre façon de les utiliser en VB comme en VBA....
Juste une question : pourquoi s'entêter avec une classe en C# alors qu'il existe des modules de classe aussi en VBA ?
Si ça ne marche pas, c'est qu'il y a un couac et vu ce que (je pense avoir compris) tu veux obtenir, y'a pas de raison pour que ça ne fonctionne pas en VBA
Sauf que sans code de test, et avec des "j'ai essayé mais ça marche pas !"
on est pas sorti du bois ... :?
Comme dit je fais des web services, ceux ci utilise la méthode jax-ws or il est impossible de faire appel à des web services en jax-ws directement à partir d'excel, il m'a donc fallu effectuer un bridge et mon choix c'est porté vers une librairie de classe C# pour la facilité de génération.
Je vous aurait bien fournit un code de test mais cela m'est impossible puisque le web service est actuellement en local sur mon pc vous ne pourriez donc pas tester