Problème assigner le résultat d'une fonction array

Function Calcul() As Variant

   Calcul=Array(1,2)

End Function
Sub Exemple()

   Dim a As Double, b As Double, res As Variant

   res=Calcul()
   a=res(0)
   b=res(1)

   Array(a,b)=Calcul() 'ligne qui ne compile pas

End Sub

Bonjour à tous,

J'ai une fonction qui me renvoie un vecteur et j'aimerai assigner les valeurs de ce vecteur aux variables a et b sans passer par le vecteur intermédiaire res, à la manière de ma ligne qui ne compile pas. Quelqu'un a t-il une solution ?

Bonne journée.

Bonjour,

Pas sûr d'avoir tout compris ...

Sub Exemple()
a = Calcul()(0)
b = Calcul()(1)
End Sub

A+

Bonjour,

ton array() doit être déclaré avant, même si le VBA est très flexible tu ne peux pas initialiser une variable (surtout de type tableau) et en même temps lui attribuer une valeur. Essaie de le faire en deux fois, quitte à devoir laisser beaucoup d'espace à ton tableau

Bonjour,

Pas sûr d'avoir tout compris ...

Sub Exemple()
a = Calcul()(0)
b = Calcul()(1)
End Sub

A+

Merci mais je souhaite appeler la fonction qu'une seule fois uniquement.

si

Array(a,b)=Calcul()

pouvait fonctionner, on aurait un tableau (sans nom!) contenant 1 et 2. mais pas directement a et b

en faisant

res=Calcul()

on a bien un tableau (nommé!) contenant 1 et 2

je ne comprend pas ce que vous cherchez à obtenir....un tableau ou bien les éléments du tableau ?

Rechercher des sujets similaires à "probleme assigner resultat fonction array"