retourner un tableau

Le
pierref
Bonjour,

est il possible qu'une fonction renvoie un tableau ?
j'ai fait comme suit mais access me marque : "impossible
d'affecter a un tableau"

***fonction :

Public Function rent(longueur As Integer) As Variant
Dim tab() As Double
Dim i As Integer

ReDim tab(1 To longueur - 1)

For i = 1 To longueur - 1
tab(i) = Log(t1(i))
Next i

rent = tab()

End Function

***appel :

ReDim tabRent(1 To longueur - 1)
tabRent = rent(longueur)


merci de m'aider

a+
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jessy Sempere [MVP]
Le #5010831
Bonjour

Si, c'est possible par contre après tu ne dois pas récupérer la fonction
dans une variable tableau mais dans une variable variant...

Sinon évite d'utiliser tab(), c'est une fonction d'access...

Donc en gros ta première fonction semble bonne à part que je ne sais
pas ce qu'est t1()

Public Function rent(longueur As Integer) As Variant
Dim t() As Double
Dim i As Integer
ReDim t(1 To longueur - 1)
For i = 1 To longueur - 1
t(i) = Log(t1(i))
Next i
rent = t()
End Function

Ensuite si tu veux l'appeler, tu peux faire :

Function AppelRent()

Dim varReturn
varReturn = rent(20)

msgbox varreturn(6)
'pour le 6ème élément du tableaux...

End Function

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"pierref" news: 1756201c41895$462ca060$
Bonjour,

est il possible qu'une fonction renvoie un tableau ?
j'ai fait comme suit mais access me marque : "impossible
d'affecter a un tableau"

***fonction :

Public Function rent(longueur As Integer) As Variant
Dim tab() As Double
Dim i As Integer

ReDim tab(1 To longueur - 1)

For i = 1 To longueur - 1
tab(i) = Log(t1(i))
Next i

rent = tab()

End Function

***appel :

ReDim tabRent(1 To longueur - 1)
tabRent = rent(longueur)


merci de m'aider

a+


pierref
Le #5010821
ok je te remercie !
t1 est un autre tableau public..

++


-----Message d'origine-----
Bonjour

Si, c'est possible par contre après tu ne dois pas
récupérer la fonction

dans une variable tableau mais dans une variable
variant...


Sinon évite d'utiliser tab(), c'est une fonction
d'access...


Donc en gros ta première fonction semble bonne à part que
je ne sais

pas ce qu'est t1()

Public Function rent(longueur As Integer) As Variant
Dim t() As Double
Dim i As Integer
ReDim t(1 To longueur - 1)
For i = 1 To longueur - 1
t(i) = Log(t1(i))
Next i
rent = t()
End Function

Ensuite si tu veux l'appeler, tu peux faire :

Function AppelRent()

Dim varReturn
varReturn = rent(20)

msgbox varreturn(6)
'pour le 6ème élément du tableaux...

End Function

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"pierref" dans le message

news: 1756201c41895$462ca060$
Bonjour,

est il possible qu'une fonction renvoie un tableau ?
j'ai fait comme suit mais access me marque : "impossible
d'affecter a un tableau"

***fonction :

Public Function rent(longueur As Integer) As Variant
Dim tab() As Double
Dim i As Integer

ReDim tab(1 To longueur - 1)

For i = 1 To longueur - 1
tab(i) = Log(t1(i))
Next i

rent = tab()

End Function

***appel :

ReDim tabRent(1 To longueur - 1)
tabRent = rent(longueur)


merci de m'aider

a+



.




pierref
Le #5010671
erreur...
j'ai cru que ca marchait car plus d'alerte access.

en fait, je me retrouve avec un tableau vide...

j'ai essayé de faire

tabrent = array(rent(longueur))

le tableau n'est plus vide mais ne contient qu'un champ a
zero..

bref ca ne marche pas.

merci pour ton aide


-----Message d'origine-----
Bonjour

Si, c'est possible par contre après tu ne dois pas
récupérer la fonction

dans une variable tableau mais dans une variable
variant...


Sinon évite d'utiliser tab(), c'est une fonction
d'access...


Donc en gros ta première fonction semble bonne à part que
je ne sais

pas ce qu'est t1()

Public Function rent(longueur As Integer) As Variant
Dim t() As Double
Dim i As Integer
ReDim t(1 To longueur - 1)
For i = 1 To longueur - 1
t(i) = Log(t1(i))
Next i
rent = t()
End Function

Ensuite si tu veux l'appeler, tu peux faire :

Function AppelRent()

Dim varReturn
varReturn = rent(20)

msgbox varreturn(6)
'pour le 6ème élément du tableaux...

End Function

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"pierref" dans le message

news: 1756201c41895$462ca060$
Bonjour,

est il possible qu'une fonction renvoie un tableau ?
j'ai fait comme suit mais access me marque : "impossible
d'affecter a un tableau"

***fonction :

Public Function rent(longueur As Integer) As Variant
Dim tab() As Double
Dim i As Integer

ReDim tab(1 To longueur - 1)

For i = 1 To longueur - 1
tab(i) = Log(t1(i))
Next i

rent = tab()

End Function

***appel :

ReDim tabRent(1 To longueur - 1)
tabRent = rent(longueur)


merci de m'aider

a+



.




Michel Walsh
Le #5010391
Salut,




Cela prend VBA6 ( Access 2000 et plus ).

----------------

Public Function Testing(PasUtiliséIci As Srting) As Long()
Dim x(1 to 2, 1 to 5) As Long
Dim i As long
Dim j As long
For i = 1 to 2
For j=1 to 5
x(i,j)= 10*i+j
Next j
Next i

Testing=x
End Function

---------------
Public Sub Qqch()
Dim u() As Long


u = Testing("bonjour tout le monde")

Debug.Print u(1, 1), u(2, 2)


End Sub
-------------

et demander l'exécution de Qqch. J'ai utilisé un argument bidon (car sans
argument, cela a tendance à mêler le mond).



Espérant être utile,
Vanderghast, Access MVP


"pierref" news:1743e01c418ab$04bb1420$
erreur...
j'ai cru que ca marchait car plus d'alerte access.

en fait, je me retrouve avec un tableau vide...

j'ai essayé de faire

tabrent = array(rent(longueur))

le tableau n'est plus vide mais ne contient qu'un champ a
zero..

bref ca ne marche pas.

merci pour ton aide


-----Message d'origine-----
Bonjour

Si, c'est possible par contre après tu ne dois pas
récupérer la fonction

dans une variable tableau mais dans une variable
variant...


Sinon évite d'utiliser tab(), c'est une fonction
d'access...


Donc en gros ta première fonction semble bonne à part que
je ne sais

pas ce qu'est t1()

Public Function rent(longueur As Integer) As Variant
Dim t() As Double
Dim i As Integer
ReDim t(1 To longueur - 1)
For i = 1 To longueur - 1
t(i) = Log(t1(i))
Next i
rent = t()
End Function

Ensuite si tu veux l'appeler, tu peux faire :

Function AppelRent()

Dim varReturn
varReturn = rent(20)

msgbox varreturn(6)
'pour le 6ème élément du tableaux...

End Function

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"pierref" dans le message

news: 1756201c41895$462ca060$
Bonjour,

est il possible qu'une fonction renvoie un tableau ?
j'ai fait comme suit mais access me marque : "impossible
d'affecter a un tableau"

***fonction :

Public Function rent(longueur As Integer) As Variant
Dim tab() As Double
Dim i As Integer

ReDim tab(1 To longueur - 1)

For i = 1 To longueur - 1
tab(i) = Log(t1(i))
Next i

rent = tab()

End Function

***appel :

ReDim tabRent(1 To longueur - 1)
tabRent = rent(longueur)


merci de m'aider

a+



.




Publicité
Poster une réponse
Anonyme