Passer un tableau comme paramètre optionnel [Résolu]

sev622 62 Messages postés jeudi 10 mars 2005Date d'inscription 12 septembre 2005 Dernière intervention - 11 août 2005 à 14:18 - Dernière réponse : sev622 62 Messages postés jeudi 10 mars 2005Date d'inscription 12 septembre 2005 Dernière intervention
- 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 ?
Afficher la suite 

5 réponses

Meilleure réponse
cs_CanisLupus 3758 Messages postés mardi 23 septembre 2003Date d'inscription 13 mars 2006 Dernière intervention - 12 août 2005 à 20:15
3
Merci
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 !?

Merci cs_CanisLupus 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 74 internautes ce mois-ci

cs_CanisLupus 3758 Messages postés mardi 23 septembre 2003Date d'inscription 13 mars 2006 Dernière intervention - 11 août 2005 à 16:54
0
Merci
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 !?
sev622 62 Messages postés jeudi 10 mars 2005Date d'inscription 12 septembre 2005 Dernière intervention - 12 août 2005 à 11:13
0
Merci
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 !!
cs_CanisLupus 3758 Messages postés mardi 23 septembre 2003Date d'inscription 13 mars 2006 Dernière intervention - 12 août 2005 à 19:54
0
Merci
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 !?
sev622 62 Messages postés jeudi 10 mars 2005Date d'inscription 12 septembre 2005 Dernière intervention - 12 août 2005 à 23:21
0
Merci
Merci beaucoup, c'est ce qu'il me faut.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.