Bonsoir
Je veux calculer la matrice de covariance sur VB6 à partir d'un fichier excel. Pour ce faire, j'ai écris un petit programme dans lequel j 'importe mon tableau de données à partir du fichier excel. Mais il faut parcourir les colonnes du fichier excel plusieurs fois pour trouver les valeurs que je cherche. j'ai mis quatre boucles FOR ce qui alourdit le calcul et rend mon programme trés lent. il faut attendre plus d'une minute pour trouver la matrice de covariance. On m'a proposé d'utiliser des DLL, mais je sais pas exactement de quoi il s'agit.
Dans ce qui suit, les boucles de recherche :
For dj = 1 To (D - 2)
h = MSFlexGrid2.TextMatrix(0, dj) 'pour récuperer les éléments de la MSFLEXGRId
For di = 1 To (D - 2)
g = MSFlexGrid2.TextMatrix(0, di)
For t = 2 To nbrcol
POI = exlapp.worksheets(1).cells(1, t)
For u = 2 To nbrcol
SOI = exlapp.worksheets(1).cells(1, u)
If (g <> POI) Or (h <> SOI) Then 'chercher les éléments de la MSFLEX dans les colonnes de EXCell
Else
ex = 0
ey = 0
co = 0
For i = 2 To nligne - 1
'Calcul de la covariance
ex = Log(exlapp.worksheets(1).cells(i + 1, t)) - Log(exlapp.worksheets(1).cells(i, t))
ey = Log(exlapp.worksheets(1).cells(i + 1, u)) - Log(exlapp.worksheets(1).cells(i, u))
co = co + ex * ey
Next i
End If
wix = MSFlexGrid1.TextMatrix(dj, 1)
jix = MSFlexGrid1.TextMatrix(di, 1)
cov = co / (nligne - 2) - wix * jix
MSFlexGrid2.TextMatrix(dj, di) = cov
Next u
Next t
Next di
Next dj
C'est trés compliqué comme programme mais est ce qu'il y a une possibilité de rendre la recherche plus rapide?