Passer un tableau comme paramètre optionnel

Résolu
sev622 Messages postés 62 Date d'inscription jeudi 10 mars 2005 Statut Membre Dernière intervention 12 septembre 2005 - 11 août 2005 à 14:18
sev622 Messages postés 62 Date d'inscription jeudi 10 mars 2005 Statut Membre Dernière intervention 12 septembre 2005 - 12 août 2005 à 23:21
Bonjour,
je voudrai créer une fonction où les paramètres optionnels sont des tableaux dont on ne connait pas la dimension. Comment fait-on pour définir leur valeur par défaut ?

5 réponses

cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
12 août 2005 à 20:15
Hou là, je devais être fatigué, bien sùr que c'est possible :

la function :Function test(Optional t1 As Variant Empty, Optional t2 As Variant Empty)
If IsEmpty(t1) Then
MsgBox "vide donc inexistant"
Else
MsgBox "non vide donc on peut le traiter"
End If
If IsEmpty(t2) Then
MsgBox "vide donc inexistant"
Else
MsgBox "non vide donc on peut le traiter"
End If
End Function

Et tu appelles cette function comme ça :

Call test(tablo1, tablo2)
ou
call test(tablo1)
ou
.....

J'espère que ça pourra t'aider.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
3
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
11 août 2005 à 16:54
Salut,

En vb6, pas testé en vb.net, un tableau ne peut être passé en paramètre à une function qu'en byref. Donc, attention, toute opération de modif sur ce tableau se répercutera sur le tableau passé. Mais c'est peut-être ce que tu veux.

Un ex :

dim tablo(5) as string
' remplissage du tableau
'....

'Appel de la function
call Test(tablo)

function Test(ByRef t() as string)
1ere ligne = lbound(t)
derniere ligne = ubound(t)
end function

A partir de là, tu dois pouvoir faire ce que tu veux sur le tableau passé.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
sev622 Messages postés 62 Date d'inscription jeudi 10 mars 2005 Statut Membre Dernière intervention 12 septembre 2005
12 août 2005 à 11:13
et utiliser optional et byref en même temps ? c'est pas possible ?
sinon, je dois faire 10 fonctions pour avoir un nombre de paramètres différent !!
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
12 août 2005 à 19:54
Désolé, j'ai fait quelques essais avec vb6 et ça ne parait pas possible.
Peut-être déclarer tes tableaux en public dans un module et passer comme paramètres des valeurs qui les identifient ? A voir. Si j'ai un moment, je testerai une autre idée mais je ne garantis rien.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sev622 Messages postés 62 Date d'inscription jeudi 10 mars 2005 Statut Membre Dernière intervention 12 septembre 2005
12 août 2005 à 23:21
Merci beaucoup, c'est ce qu'il me faut.
0
Rejoignez-nous