vba matrice

vba matrice - VB/VBA/VBS - Programmation

Marsh Posté le 11-04-2006 à 10:40:08    

bonjour,
Je cherche à utiliser des matrices en vba. j'ai testé le code suivant et ça me met une erreur de compilation : "compile error : type mismatch". je n'ai pas compris pourquoi.
 
/*******************************************/
Dim MatriceVariancesCovariances() As Double
ReDim MatriceVariancesCovariances(1 To NbUnderlyingAssets, 1 To NbUnderlyingAssets)
For i = 1 To NbUnderlyingAssets
    For j = 1 To NbUnderlyingAssets
        MatriceVariancesCovariances(i)(j) = 1.2
    Next
Next
/*******************************************/
 
 
J'aurais une autre question aussi : peut on initialiser une matrice en faisant une ligne du genre :
MaMatrice = Range(A1:B2).Select
 
Merci d'avance

Reply

Marsh Posté le 11-04-2006 à 10:40:08   

Reply

Marsh Posté le 11-04-2006 à 10:56:13    

déclarer en "double" cela permet juste d'augmenter le nombre de virgule de ta variable. le type "doubl" est plus précis que le type "single".
En aucun cas tu peux y stocker un tableau, une matrice.
 
Tu peux par exemple la déclarer de la facon suivant
dim matrice (20,20) as single ou double ou integer...(21 lignes et 21 colonnes)  
on affecte de la facon suivante :
matrice(0,0) = 1

Reply

Marsh Posté le 11-04-2006 à 11:19:14    

lhonolulu a écrit :

déclarer en "double" cela permet juste d'augmenter le nombre de virgule de ta variable. le type "doubl" est plus précis que le type "single".
En aucun cas tu peux y stocker un tableau, une matrice.
 
Tu peux par exemple la déclarer de la facon suivant
dim matrice (20,20) as single ou double ou integer...(21 lignes et 21 colonnes)  
on affecte de la facon suivante :
matrice(0,0) = 1


 
 
ok merci, je viens de faire le code suivant et ca marche :
 
/*******************************************/
Dim MatriceVariancesCovariances() As Double
ReDim MatriceVariancesCovariances(1 To NbUnderlyingAssets, 1 To NbUnderlyingAssets)  
For i = 1 To NbUnderlyingAssets
    For j = 1 To NbUnderlyingAssets
        MatriceVariancesCovariances(i, j) = 1.2
    Next
Next
/*******************************************/  
 
 

Reply

Marsh Posté le 11-04-2006 à 11:26:16    

sinon j ai essayé de remplir ma matrive  de la façon suivante :
 
MatriceVariancesCovariances = Sheets("variancescovariances" ).Range("A1:B2" )
 
et ça ne marche pas!
 
qqn aurait une idée??
 
merci

Reply

Marsh Posté le 11-04-2006 à 11:41:59    

skelter a écrit :

sinon j ai essayé de remplir ma matrive  de la façon suivante :
 
MatriceVariancesCovariances = Sheets("variancescovariances" ).Range("A1:B2" )
 
et ça ne marche pas!
 
qqn aurait une idée??
 
merci


 
en fait c bon il fallait juste que je rajoute .value :
 
MatriceVariancesCovariances = Sheets("variancescovariances" ).Range("A1:B2" ).value

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed