Fonction qui retourne une collection d'objets - VB/VBA/VBS - Programmation
Marsh Posté le 05-07-2006 à 15:44:37
Si c'est ta fonction "RecValeurs" qui retourne une valeur vaut mieux mettre
Tabcompany=RecValeurs()
Non ?
Marsh Posté le 05-07-2006 à 15:52:25
Je ne pense pas
c est la fonction qui est egale a la collection d'objets
Marsh Posté le 05-07-2006 à 16:06:44
Voila le code se sera plus sipmle pour comprendre
Code :
|
Voila, maintenant le message d'erreur qui est le suivant :
Only user-defined types defined in public object modules can ve coerced to or from a variant or passed to late-bound functions
Merci d'avance de votre réponse
Marsh Posté le 05-07-2006 à 16:27:25
Le message, c'est que ton type doit être déclaré public dans un module.
Voir la doc, le chapitre concernant le passage de tableaux en paramètres.
Marsh Posté le 06-07-2006 à 09:37:52
JihemAir a écrit : Le message, c'est que ton type doit être déclaré public dans un module. |
Ce qui est le cas, non ? (cf le code)
Marsh Posté le 06-07-2006 à 09:59:31
Je pense qu'avec les aménagements suivants cela devrait aller mieux (mais à vérifier)
Function RecSelection() As myCompany() |
Pour exemple, voici une fonction qui fonctionne en VB6
Function test() As String() |
edit: je sais pas si en vba ça marchera aussi bien
Marsh Posté le 06-07-2006 à 10:13:49
Merci beaucoup a vous, grave a vos conseils j'ai trouvé !!!
Marsh Posté le 06-07-2006 à 10:23:20
Les seuls changements sont :
Function RecSelection() As TabCompany
et
RecSelection = TabComp
Merci Mr tegu
Marsh Posté le 06-07-2006 à 10:31:24
Et pourquoi tu lui fais pas retourner TabComp (type Tabcompany) à ta fonction recselection ?
Marsh Posté le 06-07-2006 à 11:00:52
Alors en conservant le retour d'origine
Public Function RecSelection() As myCompany()
et
RecSelection = TabComp.myCompanies()
ca marche aussi !
Marsh Posté le 05-07-2006 à 15:27:27
Bonjour a tout le monde,
après de multiples recherches mais sans réelles réponses, je m'en remets a vous. Je voudrais savoir comment retourner une collection d'objets. Je m'explique :
Mon type :
Public Type myCompany
nomCompany As String
numCompany As String
End Type
Public Type TabCompany
myCompanies() As myCompany
End Type
Ensuite j ai une fonction ou je remplis mon tableau qui marche tres bien ! Mais impossible de retourner quelque chose. Ma fonction est déclaré comme tel:
Public Function RecValeurs() As Variant
ou bien comme tel
Public Function RecValeurs() As TabCompany
J'instancie mes types crées plus haut et avec pour instruction de retour :
RecValeurs() = TabCompany
Mais rien a faire dans les deux cas une erreur. Que faire ? Est-il impossible de retourner une collection d'objets ?
Je vous remercie d'avance de votre réponse et A très bientôt je l'espere !