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

Messages postés
62
Date d'inscription
jeudi 10 mars 2005
Statut
Membre
Dernière intervention
12 septembre 2005
- - Dernière réponse : 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 ?
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
3758
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
8
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 !?

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 138 internautes nous ont dit merci ce mois-ci

Messages postés
3758
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
8
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 !?
Messages postés
62
Date d'inscription
jeudi 10 mars 2005
Statut
Membre
Dernière intervention
12 septembre 2005
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 !!
Messages postés
3758
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
8
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 !?
Messages postés
62
Date d'inscription
jeudi 10 mars 2005
Statut
Membre
Dernière intervention
12 septembre 2005
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.