OVH Cloud OVH Cloud

Tableau de String en paramètre

3 réponses
Avatar
LeBouns
Bonjour,

je souhaite savoir si VB permet de passer en paramètre un tableau (dans mon
cas, un tableau de string) à un Sub.

En gros :

Redim MonTableau(1 to 2) as string
MaSub(MonTableau())


' ailleurs
Sub MaSub(Tableau() as string)
end sub


Erreur de compile : Erreur de type - tableau attendu

3 réponses

Avatar
LeBouns
> Redim MonTableau(1 to 2) as string
MaSub(MonTableau())


' ailleurs
Sub MaSub(Tableau() as string)
end sub




Trouvé sur dejanews

L'appel de la procédure doit se faire ainsi :

MaSub MonTableau()

Les appels de procédures VB sont quand même particuliers.... :(

LeBouns
Avatar
Bismark Prods
oui

"LeBouns" a écrit dans le message de
news:
Bonjour,

je souhaite savoir si VB permet de passer en paramètre un tableau (dans


mon
cas, un tableau de string) à un Sub.

En gros :

Redim MonTableau(1 to 2) as string
MaSub(MonTableau())


' ailleurs
Sub MaSub(Tableau() as string)
end sub


Erreur de compile : Erreur de type - tableau attendu




Avatar
Zoury
Salut LeBouns! :O)

> MaSub(MonTableau())



C'est soit :

Call MaSub(MonTableau)

ou :

MaSub MonTableau


Les appels de procédures VB sont quand même particuliers.... :(



Voici quelques explications, postées plus tôt cette semaine, qui pourraient
t'éclaircir un peu ;O)

'***
' Les syntaxes suivantes ne tiennent pas
' compte de la valeur de retour
Call MaFunction(mon_param)
Call MaSub(mon_param)
MaFunction mon_param
MaSub mon_param

' Affecte i par la valeur de retour
Dim i As Long
i = MaFunction(mon_param)

' **ATTENTION A CETTE SYNTAXE**
' La syntaxe suivante ne fait pas toujours ce qu'elle
' semble indiquer. Dans ce cas ci, elle passe le
' paramètre comme prévue..
MaFunction (mon_param)

' Prenons l'exemple suivant :
' La fonction reçoit le paramètre *qui est un objet*.
' Cependant, au lieu de passer l'objet en paramètre
' VB "évaluera l'expression *avant* de la passé. Donc
' si l'objet à propriété par défaut, c'est cette propriété qui
' sera passé en paramètre, causant une erreur de type
' non correspondant (Type mismatch)
MaFunction (mon_param_objet)
'***


--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/

Merci de poster les réponses au groupe afin d'en faire profiter à tous