Plein de parametres vers une fonction

Messages postés
5
Date d'inscription
dimanche 19 mai 2002
Statut
Membre
Dernière intervention
16 mai 2005
-
Messages postés
5
Date d'inscription
dimanche 19 mai 2002
Statut
Membre
Dernière intervention
16 mai 2005
-
Bonjour

je suis à la recherche de la syntaxe (si elle existe) pour faire comme en C, lors du passage de parametres a une fonction.
Ex : call F("titi", "toto")
Puis : call F("titi, "toto", "tutu")

existe-t-il un argc/argv ?

Merci d'avance pour les reponses !
;-)

4 réponses

Messages postés
1858
Date d'inscription
samedi 29 juin 2002
Statut
Membre
Dernière intervention
17 octobre 2013
10
2 syntaxes possibles pour la fonction F :

F "titi", "toto"
ou bien
Call F("titi", "toto")
mais pas call F("titi, "toto", "tutu")
si la fonction F attend 2 paramètres.

à moins qu'elle en attende 3, auquel cas
Call F("titi, "toto", "tutu")
Call F("titi, "toto", "")
Messages postés
5
Date d'inscription
dimanche 19 mai 2002
Statut
Membre
Dernière intervention
16 mai 2005

Merci pour la réponse mais, le but est d'avoir une fonction dont on ne connait pas le nombre de parametres. Un peu comme en C.
sub F (argc as integer, argv() as variant)
argc = nombre de paramètres
argv = tableau des valeurs passee a la fonction lors de l'execution.

Merci d'avance pour votre aide
Messages postés
796
Date d'inscription
jeudi 17 mai 2001
Statut
Membre
Dernière intervention
5 mai 2009
7
Salut,

rene38 connait bien mal le VB6...
Il est dommage qu'il te donne de si mauvais espoirs.

Voici ta fonction f comme en C. Tu remarqueras que j'utilises la syntaxe ParaArray qui permet justement de passer un nombre de paramètres aléatoires. Le code interne à cette procédure permet de récupérer les différents paramètres.

Tu peux à présent utiliser ta fonction comme ceci:

call F("titi, "toto", "tutu")

Public Sub f(ParamArray vParametre() As Variant)

Dim I As Integer

For I = LBound(vParametre) To UBound(vParametre)
Debug.Print vParametre(I)
Next I

End Sub

Tchao

NéoB
Messages postés
5
Date d'inscription
dimanche 19 mai 2002
Statut
Membre
Dernière intervention
16 mai 2005

Merci beaucoup

Ca fait plaisir d avoir des reponses de pro.

encore merci