Utiliser la fonction Trend sur des Array en VBA (Excel)

fifi2472 Messages postés 2 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 21 juillet 2005 - 20 juil. 2005 à 16:44
fifi2472 Messages postés 2 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 21 juillet 2005 - 21 juil. 2005 à 09:26
Bonjour,
je n'arrive pas à utiliser directement sur un array la fonction Trend de VBA (tendance sous Excel) en passant par WorkSheetFunction alors que pour la
Moyenne (Average) ça marche !
Est-ce dû au fait que Tendance a peut-être une forme
matricielle ? Mais cela ne marche pas non plus en
convertissant l'array en matrice et en passant par
Evaluate ....
Suis-je sur la bonne piste ?

Merci de votre aide

2 réponses

vinkaa Messages postés 3 Date d'inscription mardi 19 août 2003 Statut Membre Dernière intervention 22 juillet 2005
21 juil. 2005 à 00:38
Bonjour,

Voir l'aide du mot clé TENDANCE.

Les 3 premiers arguments de la fonction sont des matrices.

Un petit exemple VBA

Public Sub Tester()
Dim vntValeurY As Variant, vntValeurX As Variant
Dim vntResult As Variant
Dim lngLoop As Long

vntValeurY = Array(133890, 135000, 135790, 137300, 138130, 139100, 139900, 141120, 141890, 143230, 144000, 145290)
vntValeurX = Array(13, 14, 15, 16, 17)
vntResult = WorksheetFunction.Trend(vntValeurY, , vntValeurX)

If IsArray(vntResult) Then
For lngLoop = LBound(vntResult) To UBound(vntResult)
Debug.Print Tab(4); lngLoop; Tab(15); vntResult(lngLoop)
Next lngLoop
End If
End Sub

Le deuxième argument est par défaut dans notre cas 1,2, ... 12
vntResult est le vecteur résultat correspondant au vecteur des nouveaux X contenu dans vntValeurX

Vinkaa...
0
fifi2472 Messages postés 2 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 21 juillet 2005
21 juil. 2005 à 09:26
Merci beaucoup Vinkaa....


J'avais aussi trouver la réponse entre temps : en effet mon 3éme paramétre de Trend


était un Integer, dés que je l'ai converti en array cela a marché
Merci encore
Fifi2472
0