Array() et Variant

Le
John Fuss
Bonjour,

j'ai 2 fonctions qui acceptent en paramètre un Variant pour récupérer un
tableau de type : Array("Fraise", "Banane")

depuis la 1ère fonction, je lance la 2ème ne lui passant en param celui
passé à la 1ère (je vais mettre un exemple)

Call F1(array("Banane", "Fraise"))

Sub F1(tabl as variant)
msgbox Ubound(tabl) 'ça marche
msgbox tabl(0) 'ça marche
call F2(tabl)
End Sub

Sub F2(tabl as variant)
msgbox Ubound(tabl) 'ça marche
msgbox tabl(0) 'Marche plus !!!!!!
End Sub

Comment se fesse ?

Merci
John.
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
John Fuss
Le #1268639
J'ai oublié de préciser que l'espion me montre bien les "Fraise" et "Banane"
dans les Item 0 et 1.

Bizarre.

John

"John Fuss" news:c6aq5b$cpj$
Bonjour,

j'ai 2 fonctions qui acceptent en paramètre un Variant pour récupérer un
tableau de type : Array("Fraise", "Banane")

depuis la 1ère fonction, je lance la 2ème ne lui passant en param celui
passé à la 1ère (je vais mettre un exemple...)

Call F1(array("Banane", "Fraise"))

Sub F1(tabl as variant)
msgbox Ubound(tabl) 'ça marche
msgbox tabl(0) 'ça marche
call F2(tabl)
End Sub

Sub F2(tabl as variant)
msgbox Ubound(tabl) 'ça marche
msgbox tabl(0) 'Marche plus !!!!!!
End Sub

Comment se fesse ?

Merci
John.





Paul V.
Le #1268635
Bonjour,

J'ai pas testé mais il me semble qu'il s'agit d'un problème de portée de la
variable tabl déclarée comme paramètre et qui ne peut être utilisée dans f2.
Essaye de déclarer tabl en entête de module comme variable variant et cela
devrait résoudre ton soucis.
--
HTH

Paul V.

John Fuss wrote:
J'ai oublié de préciser que l'espion me montre bien les "Fraise" et
"Banane" dans les Item 0 et 1.

Bizarre.

John

"John Fuss" news:c6aq5b$cpj$
Bonjour,

j'ai 2 fonctions qui acceptent en paramètre un Variant pour
récupérer un tableau de type : Array("Fraise", "Banane")

depuis la 1ère fonction, je lance la 2ème ne lui passant en param
celui passé à la 1ère (je vais mettre un exemple...)

Call F1(array("Banane", "Fraise"))

Sub F1(tabl as variant)
msgbox Ubound(tabl) 'ça marche
msgbox tabl(0) 'ça marche
call F2(tabl)
End Sub

Sub F2(tabl as variant)
msgbox Ubound(tabl) 'ça marche
msgbox tabl(0) 'Marche plus !!!!!!
End Sub

Comment se fesse ?

Merci
John.




Michel Pierron
Le #1268632
Re John;
Mais si, ça marche; supprime as variant qui est superfétatoire.
MP

"John Fuss" news:c6aq5b$cpj$
Bonjour,

j'ai 2 fonctions qui acceptent en paramètre un Variant pour récupérer un
tableau de type : Array("Fraise", "Banane")

depuis la 1ère fonction, je lance la 2ème ne lui passant en param celui
passé à la 1ère (je vais mettre un exemple...)

Call F1(array("Banane", "Fraise"))

Sub F1(tabl as variant)
msgbox Ubound(tabl) 'ça marche
msgbox tabl(0) 'ça marche
call F2(tabl)
End Sub

Sub F2(tabl as variant)
msgbox Ubound(tabl) 'ça marche
msgbox tabl(0) 'Marche plus !!!!!!
End Sub

Comment se fesse ?

Merci
John.





John Fuss
Le #1268628
J'ai ajouter ByVal avant la déclaration des variant et ça fonctionne.

Merci à vous 2

John

"Paul V." news:
Bonjour,

J'ai pas testé mais il me semble qu'il s'agit d'un problème de portée de
la

variable tabl déclarée comme paramètre et qui ne peut être utilisée dans
f2.

Essaye de déclarer tabl en entête de module comme variable variant et cela
devrait résoudre ton soucis.
--
HTH

Paul V.

John Fuss wrote:
J'ai oublié de préciser que l'espion me montre bien les "Fraise" et
"Banane" dans les Item 0 et 1.

Bizarre.

John

"John Fuss" news:c6aq5b$cpj$
Bonjour,

j'ai 2 fonctions qui acceptent en paramètre un Variant pour
récupérer un tableau de type : Array("Fraise", "Banane")

depuis la 1ère fonction, je lance la 2ème ne lui passant en param
celui passé à la 1ère (je vais mettre un exemple...)

Call F1(array("Banane", "Fraise"))

Sub F1(tabl as variant)
msgbox Ubound(tabl) 'ça marche
msgbox tabl(0) 'ça marche
call F2(tabl)
End Sub

Sub F2(tabl as variant)
msgbox Ubound(tabl) 'ça marche
msgbox tabl(0) 'Marche plus !!!!!!
End Sub

Comment se fesse ?

Merci
John.








John Fuss
Le #1268627
Mais si on met rien en type, c'est du variant non ?
"Michel Pierron" news:eUY0$
Re John;
Mais si, ça marche; supprime as variant qui est superfétatoire.
MP

"John Fuss" news:c6aq5b$cpj$
Bonjour,

j'ai 2 fonctions qui acceptent en paramètre un Variant pour récupérer un
tableau de type : Array("Fraise", "Banane")

depuis la 1ère fonction, je lance la 2ème ne lui passant en param celui
passé à la 1ère (je vais mettre un exemple...)

Call F1(array("Banane", "Fraise"))

Sub F1(tabl as variant)
msgbox Ubound(tabl) 'ça marche
msgbox tabl(0) 'ça marche
call F2(tabl)
End Sub

Sub F2(tabl as variant)
msgbox Ubound(tabl) 'ça marche
msgbox tabl(0) 'Marche plus !!!!!!
End Sub

Comment se fesse ?

Merci
John.









Michel Pierron
Le #1268592
Re John;
Bien vu; donc, ce n'est pas la peine de le mettre.
Chez moi, ça marche ByRef (par defaut) sans aucun problème.
MP

"John Fuss" news:c6asr4$dv9$
Mais si on met rien en type, c'est du variant non ?
"Michel Pierron" news:eUY0$
Re John;
Mais si, ça marche; supprime as variant qui est superfétatoire.
MP

"John Fuss" news:c6aq5b$cpj$
Bonjour,

j'ai 2 fonctions qui acceptent en paramètre un Variant pour récupérer un
tableau de type : Array("Fraise", "Banane")

depuis la 1ère fonction, je lance la 2ème ne lui passant en param celui
passé à la 1ère (je vais mettre un exemple...)

Call F1(array("Banane", "Fraise"))

Sub F1(tabl as variant)
msgbox Ubound(tabl) 'ça marche
msgbox tabl(0) 'ça marche
call F2(tabl)
End Sub

Sub F2(tabl as variant)
msgbox Ubound(tabl) 'ça marche
msgbox tabl(0) 'Marche plus !!!!!!
End Sub

Comment se fesse ?

Merci
John.













Publicité
Poster une réponse
Anonyme