Produit matriciel en vba

Fermé
galère_enstage Messages postés 1 Date d'inscription jeudi 24 juillet 2008 Statut Membre Dernière intervention 24 juillet 2008 - 24 juil. 2008 à 11:59
Archi-dessin Messages postés 270 Date d'inscription samedi 19 avril 2008 Statut Membre Dernière intervention 28 décembre 2009 - 24 juil. 2008 à 16:21
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 samedi 19 avril 2008 Statut Membre Dernière intervention 28 décembre 2009 25
24 juil. 2008 à 16:21
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