Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

retourner un tableau

4 réponses
Avatar
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+

4 réponses

Avatar
Jessy Sempere [MVP]
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" a écrit 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+


Avatar
pierref
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" a écrit
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+



.




Avatar
pierref
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" a écrit
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+



.




Avatar
Michel Walsh
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" wrote in message
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" a écrit
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+



.