Covariance en VBA

frouipop

XLDnaute Nouveau
Bonjour à tous,

Je débute en VBA et je dois réaliser une macro qui fait la chose suivante

ouvrir une feuille excel
calculer une covariance sur la fauille ouverte et la recopier dans une cellule de la feuille courante.
fermer la feuille excel

J'ai trouvé comment ouvrir et fermé mais par contre pour la covariance j'ai des problèmes. Après quelque recherches j'ai abouti à la formule :

ThisWorkbook.Worksheets("Sheet1").Cells(B3)Value = ws.Application.WorksheetFunction.Covariance(Range("C8:C1007");Range("D8:D1007))

Et il me dit qu'il est pas d'accord avec le séparateur entre les deux Range

J'en ai très besoin car je suis déjà en retard donc merci beaucoup d'avance pour votre aide
 

frouipop

XLDnaute Nouveau
Re : Covariance en VBA

Bonjour,

Merci pour votre réponse il a l'air de connaitre covar. Par contre je voudrais que les cellules de ma feuille actuelle soit modifié mais que le calcul s'éffectue sur une feuille que j'ai ouverte. Mon code est :

FilePath = ThisWorkbook.Worksheets("Sheet1").Range("A1").Value

Set wb = Workbooks.Open(FilePath)

Set ws = wb.Worksheets("Terminal Cash Flows")

ThisWorkbook.Worksheets("Sheet1").Cells("B4").Value = ws.Application.WorksheetFunction.Covar(Range("C8:C1007"), Range("D8:D1007"))

Pour le moment il me dit qu'il y a une incompatibilité de type qui vient je pense du ws.Application mais je ne sais pas comment faire.
 

MichelXld

XLDnaute Barbatruc
Re : Covariance en VBA

Bonsoir,

La feuille de calcul (variable Ws) doit être précisée pour chaque plage indiquée dans la fonction :

Code:
ThisWorkbook.Worksheets("Sheet1").Cells("B4").Value = _
    Application.WorksheetFunction.Covar( _
    Ws.Range("C8:C1007"), Ws.Range("D8:1007"))


bonne soirée
michel
 

Discussions similaires

Réponses
6
Affichages
381
Réponses
12
Affichages
306

Statistiques des forums

Discussions
312 800
Messages
2 092 242
Membres
105 305
dernier inscrit
Momone59