Produit matriciel en vba

galère_enstage Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
Archi-dessin Messages postés 270 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Je suis vraiment débutante et en vba et j'essaye de faire une fonction qui calcule le produit matriciel entre deux plages de donnes. Voici le code que j'ai écrit, je ne vois vraiment pas pourquoi ça ne marche pas. Si quelqu'un peut m'aider, je serai très reconnaissante
Public Function prod(plage1, plage2 As Range) As Variant

Dim i, j As Integer
Dim x1, x2, y1, y2 As Integer

x1 = plage1.Rows.Count
y1 = plage1.Columns.Count

x2 = plage2.Rows.Count
y2 = plage2.Columns.Count
Dim t() As Double
ReDim t(x1, y2)
Dim t1() As Double
ReDim t1(x1, y1)
Dim t2() As Double
ReDim t2(x2, y2)

t1 = plage1.Value
t2 = plage2.Value

Dim x As Double

For i = 1 To x1

For j = 1 To y2
t(i, j) = 0
For k = 1 To x2
t(i, j) = t(i, j) + t1(i, k) * t2(k, j)
Next k
Next j
Next i
prod = t
End Function

1 réponse

Archi-dessin Messages postés 270 Date d'inscription   Statut Membre Dernière intervention   25
 
salut,
t n'est pas un tablea de 2 dimension
en plus , le tabeau n'a pas de taille, exemple: dim t(20,25) as double
puis tu fais redim
1