Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Array() et Variant

6 réponses
Avatar
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.

6 réponses

Avatar
John Fuss
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" a écrit dans le message de
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.





Avatar
Paul V.
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" a écrit dans le message de
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.




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

"John Fuss" a écrit dans le message de
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.





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

Merci à vous 2

John

"Paul V." a écrit dans le message de
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" a écrit dans le message de
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.








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

"John Fuss" a écrit dans le message de
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.









Avatar
Michel Pierron
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" a écrit dans le message de
news:c6asr4$dv9$
Mais si on met rien en type, c'est du variant non ?
"Michel Pierron" a écrit dans le message de
news:eUY0$
Re John;
Mais si, ça marche; supprime as variant qui est superfétatoire.
MP

"John Fuss" a écrit dans le message de
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.