cs_tandia
Messages postés6Date d'inscriptionvendredi 27 octobre 2006StatutMembreDernière intervention26 juin 2008
-
25 juin 2008 à 11:36
cs_tandia
Messages postés6Date d'inscriptionvendredi 27 octobre 2006StatutMembreDernière intervention26 juin 2008
-
26 juin 2008 à 07:59
Salut,
J'ai des problèmes pour calculer une matrice de corrélation sous VBA Excel à chaque fois que j'execute il me dit qu'il y a un indice hors selection.
Pourriez vous me verifier le code:
Private Sub CommandButton5_Click()
Dim VStDev() As Variant
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim l As Integer
Dim m As Integer
Dim o As Integer
Dim p As Integer
ReDim VStDev(NbreTitres, NbreTitres)
Sheets("Covariance").Cells.ClearContents
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then
k = k + 1
End If
Next i
NbreTitres = k
NbreCorr = NbreTitres * (NbreTitres - 1) / 2
For j = 1 To NbreTitres
Sheets("Covariance").Cells(1 + j, 1) = Sheets("Transit").Cells(1, j).Value
Sheets("Covariance").Cells(1, 1 + j) = Sheets("Transit").Cells(1, j).Value
Next j
NbreRend = Sheets("Transit").Range("A1").End(xlDown).Row - 1
For i = 1 To NbreTitres
VStDev(i) = Application.StDev(Sheets("Transit").Cells(2, i), Sheets("Transit").Cells(NbreRend + 1, i))
For o = 1 To i
Sheets("Covariance").Cells(1 + i, 1 + o) = Application.Covar(Sheets("Transit").Cells(2, i + 1), Sheets("Transit").Cells(NbreRend + 1, i + 1), Sheets("Transit").Range(Cells(2, o + 1), Cells(NbreRend + 1, o + 1))) / (VStDev(i) * VStDev(o))
Sheets("Covariance").Cells(1 + o, 1 + i) = Sheets("Covariance").Cells(1 + o, 1 + i)
Next o
Next i