Bonjour, j'espère que Job75 est toujours à l'écoute.
J'ai progressé pas mal avec la formule que vous m'avez faite, j'ai utilisé une table de données de mes placements et je fais un array pour calculer le rendement et ça fonctionne relativement bien.
Je souhaite aller encore un peu plus loin et en faire une fonction Excel du genre:
=Rendement("Portefeuille";"Fonds")
où Portefeuille et Fonds sont les valeurs inscrite dans 2 cellules exemple A1 et B1
Mais je n'arrive pas à faire une fonction complexe, en fait je suis capable de faire une fonction qui calcul le Surface d'un cercle avec 1 paramètre ou encore une fonction mathématique qui calcul un résultat avec plusieurs arguments.
Mais il semble que lorsque je monte un array pour l'utiliser dans mon calcul ça ne fonctionne pas.
Exemple simple:
Si je fait une procédure:
Sub Test()
Dim myArray As Variant
Dim x As Long
myArray = Worksheets("Table de Données").ListObjects("Tableau_De_Données").DataBodyRange
[n20].Resize(UBound(myArray)).Value2 = myArray
End Sub
ça fonctionne et le résultat s'écrit dans N20
par contre si je change pour une fonction et pour que la fonction retourne un résultat j'ajoute Test=1
ça ne fonctionne pas:
Function Test()
Dim myArray As Variant
Dim x As Long
myArray = Worksheets("Table de Données").ListObjects("Tableau_De_Données").DataBodyRange
[n20].Resize(UBound(myArray)).Value2 = myArray
Test = 1
End Function
ça écrit dans la cellule de la formule #Valeur!
J’ai fait beaucoup de recherche sans succès.
Est-ce que vous pouvez me donner un coup de main SVP?
Merci
solgti