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
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) '***
Merci de poster les réponses au groupe afin d'en faire profiter à tous
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)
'***
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) '***