larsene67
Messages postés18Date d'inscriptionmardi 27 juin 2006StatutMembreDernière intervention 8 novembre 2006
-
7 juil. 2006 à 15:17
us_30
Messages postés2065Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention14 mars 2016
-
8 juil. 2006 à 09:47
Re-bonjour, voici une autre question à un de mes soucis.
Alors l'exemple n'est pas très clair quand à l'utilité, mais j'ai simplifié pour la question.
Cela aurais été trop long de tout expliquer, et inutile pour le cas.
En fait, j'essaie de recuperer une propriété d'un élément de collection au travers d'un paramêtre de fonction. L'idée étant de pouvoir faire un traitement commun sur des collection et propriétés différentes.
Enfin lisez l'exemple, ce sera plus clair.
En tout cas, je n'arrive pas à le faire marcher....
Une idée?
Private Function sub2(collec As Collection, qualif As String)
Dim r As New ScriptControl
r.Language = "vbscript"
For i = 1 To equipe.Count
'MsgBox (collec(i).qualif) '<--propriété ou methode non gérée par cet objet
'MsgBox (r.Eval("collec(" & i & ").qualif")) ' <-- type incompatible 'collec'
'MsgBox (r.Eval(collec(i).qualif)) '<--propriété ou methode non gérée par cet objet
'MsgBox (r.Eval(collec(i).qualif)) '<--propriété ou methode non gérée par cet objet
'... pas d'autres idées :(
Next i
End Function
A voir également:
Recuperer une propriété d'un élément de collection au travers d'un paramêtre de
BasicInstinct
Messages postés1471Date d'inscriptionmardi 5 février 2002StatutMembreDernière intervention20 octobre 201412 7 juil. 2006 à 16:18
'lut
Je pense que ca doit repondre à ton probleme. Mais je n'ai pas testé en Vba
Private Function sub2(collec As Collection, qualif As String)
Dim r As New ScriptControl
r.Language = "vbscript"
For i = 1 To collec.Count
Msgbox CallByName(collec(I), qualif, VbGet)
Next i
End Function
us_30
Messages postés2065Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention14 mars 201610 8 juil. 2006 à 09:47
Salut,
JE pense qu'il est inutile d'invoquer ScriptControl... Après vérification, la sub2 peut s'écrire uniquement par :
Private Function sub2(collec As Collection, Qualif As String)
For i = 1 To collec.Count
MsgBox CallByName(collec(i), Qualif, VbGet)
Next i
End Function
cela évite de passer par le language VBScript, pour revenir à VBA...