[E-00]Passer matrice en paramètre d'un fonction VBA
Bonjour,
J'ai de beaucoup de calcul à faire sur des matrices de nombres.
Je suis en train de faire une fonction qui permettrait de retourner la diagonale d'une matrice carrée.
Pourquoi dans mon programme ci-dessous je suis obligé d'ajouter +1 aux index de ma matrice dans les boucles ?
Cela risque de me compliquer le reste du programme. Alors si c'est normal, est ce qu'il y a un moyen pour décaler la matrice pour qu'elle commence à 0 ?
De plus, j'aimerai pouvoir utiliser les fonctions Ubound et Lbound sur la matrice pour connaitre sa dimension.
Code:
1 2 3 4 5 6 7 8 9 10
| Function matrice_extract_diag(ByRef matrice As Range) As Variant
Dim vecteur() As Double
Dim i, nb_ligne As Integer
nb_ligne = matrice.Rows.Count
ReDim vecteur(nb_ligne)
For i = 0 To nb_ligne
vecteur(i) = matrice(i + 1, i + 1)
Next i
matrice_extract_diag = vecteur
End Function |
Merci