Fonction qui renvoie un tableau ou un vecteur

Résolu
Messages postés
57
Date d'inscription
jeudi 5 août 2004
Statut
Membre
Dernière intervention
2 juillet 2005
-
Messages postés
57
Date d'inscription
jeudi 5 août 2004
Statut
Membre
Dernière intervention
2 juillet 2005
-
Bonjour,

J'aimerais créer une fonction qui renvoie un tableau (ou un vecteur) et non pas un seul nombre :

J'ai une fonction qui s'appelle f, qui dépend de Jour et de Durée ; j'aimerais :

f(Jour, Durée) me renvoie
f(1)=Jour, f(2)=Jour-1... f(Durée)=Jour-Durée+1
En lancant la fonction f qu'une seule fois.

Merci pour votre aide.

7 réponses

Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Membre
Dernière intervention
13 mars 2006
18
Salut, je ne sais pas si g bien compris mais voilà un exemple de function qui retourne un tableau, colle ce code dans une form et vois si ça te convient :

Bien sûr, c juste la base, c à adapter.

Private Type Tableau
  t() As String
End Type

Private Function test() As Tableau
Dim truc(5) As String
truc(0) = "0"
truc(1) = "1"
truc(2) = "2"
truc(3) = "3"
truc(4) = "4"
truc(5) = "5"

test.t = truc

End Function

Sub Form_Load()
Dim i As Integer
For i = 0 To 5
MsgBox test.t(i)
Next
End Sub

Cordialement, CanisLupus

Tous les glands ne deviennent pas des chênes mais tous les chênes ont été des glands
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
133
Hein ? J'ai pas trop compris le problème là... Si tu spécifie deux arguments à ta fonction, il faut que tu l'appelle avec deux paramètres, sinon, il faut que le dernier paramètre soit optionnel. Mais je ne pense pas que ton problème se situe à ce niveau... si ?

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
Messages postés
57
Date d'inscription
jeudi 5 août 2004
Statut
Membre
Dernière intervention
2 juillet 2005
1
nan scuz, je crois que j'ai pas été clair,

ce que je voudrais c'est en lançant une fonction 'g' qui dépend du paramètre X obtenir un vecteur de hauteur X :

g(X) -> (nb(1), nb(2), ... nb(X))
Messages postés
57
Date d'inscription
jeudi 5 août 2004
Statut
Membre
Dernière intervention
2 juillet 2005
1
OK, jte remercie pour ton aide,
juste une dernière petite question : qu'est-ce que veux dire le :

test.t() = truc.

pour moi c'est équivalent à un

for i = 0 to 5
test.t(i) = truc(i)
next i

qui ne marche pas quand je le remplace dans le programme

j'me trompe ?
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Membre
Dernière intervention
13 mars 2006
18
test.t=truc renvoie le tableau truc en entier.
si ta function est du type string, est-ce que tu fais test=TaString ou est-ce que tu fais
for i=1 to len(tastring)
test=mid(tastring,i,1)
next

???

Cordialement, CanisLupus

Tous les glands ne deviennent pas des chênes mais tous les chênes ont été des glands
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Membre
Dernière intervention
13 mars 2006
18
Tableau est un type défini par l'utilisateur comme on dit. Et utilisable de la même façon que les types prédéfinis (comme string et autres)
Maintenant, si ton tableau ne doit contenir que des valeurs integer, tu le déclares comme ça :

Private Type Tableau
t() As Integer
End Type

si c du double :

Private Type Tableau
t() As Double
End Type

etc....

Cordialement, CanisLupus

Tous les glands ne deviennent pas des chênes mais tous les chênes ont été des glands
Messages postés
57
Date d'inscription
jeudi 5 août 2004
Statut
Membre
Dernière intervention
2 juillet 2005
1
OK, je ne connaissais pas l'instruction type.

Jte remercie pour ton aide.

CrisseTof