Extraire une seule valeur d'une fonction retournant un vecteur

Extraire une seule valeur d'une fonction retournant un vecteur - VB/VBA/VBS - Programmation

Marsh Posté le 07-05-2008 à 16:57:22    

Bonjour,
J'ai crée une fonction VB sur Excel qui renvoit un vecteur.
C'est tout bête, mais j'aimerais savoir comment recueillir chacun des élèments de ce vecteur de manière indépendante dans plusieurs cases non contigues.
J'ai essayé Fonction(Param1,Param2,...)(1) pour recueillir le premier element, Fonction(Param1,Param2,...)(2) pour le deuxieme element etc etc mais ca marche pas :(
Merci  :jap:


Message édité par Tell The King le 07-05-2008 à 17:02:24
Reply

Marsh Posté le 07-05-2008 à 16:57:22   

Reply

Marsh Posté le 07-05-2008 à 17:02:50    

un vecteur ? un objet collection du veux dire ?
 
comment est typée ta fonction ?
 
Public function test(...) as ?????


Message édité par Xxxaaavvv le 07-05-2008 à 17:03:05
Reply

Marsh Posté le 07-05-2008 à 17:03:58    

J'ai juste mis Function(p1,p2,...,pn)

Reply

Marsh Posté le 07-05-2008 à 17:06:46    

et dans le corps de ta fonction...
t'affecte quoi en retour ?
 
(c'est un tableau de type array ?
 
si c'est le cas je te conseille de récupérer le tableau
 
dim Tableau
tableau = Fonction(Param1,Param2,...)
 
et ensuite tableau(1) pour le premier élément
etc...)


Message édité par Xxxaaavvv le 07-05-2008 à 17:08:10
Reply

Marsh Posté le 07-05-2008 à 17:10:40    

En fait, =tableau(1) par ex ne marche pas sur une spreedsheet excel
alors qu'usuellement pour recueillir le resultat d'une fonction on met =Function(p1,p2,..pn)
Je voudrais recueillir via la feuille de calcul sans passer par le code

Reply

Marsh Posté le 07-05-2008 à 17:15:08    

il faut alors la déclarée comme il faut ta fonction
Public function NOMFONCTION(...) as TYPE
 
ensuite tu pourra appeler depuis excel  
=NOMFONCTION(p1,p2,p3)
 
d'ailleur selon tes paramètres régionaux
sous Excel tu devra plutot écrire :
=NOMFONCTION(p1;p2;p3)
 
l'autre problème, c'est que je ne suis pas sur qu'excel gère des tableaux "comme ça" en retour de fonction...
je te conseil de rajouter un parametre a ta fonction :
du genre :
 
=NOMFONCTION(p1,p2,p3,1)   équivalent à ce que tu voulais faire :  =NOMFONCTION(p1,p2,p3)(1)
 
voila :)


Message édité par Xxxaaavvv le 07-05-2008 à 17:17:03
Reply

Marsh Posté le 07-05-2008 à 17:25:34    

Merci infiniment :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed