[VBA Excel]

Signaler
Messages postés
83
Date d'inscription
jeudi 22 novembre 2007
Statut
Membre
Dernière intervention
4 septembre 2014
-
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
-
bonjour,

j'ai quelques problèmes pour réaliser une macro avec du calcul matriciel.

voici une sub qui calcule le produit A*B et le met dans C :

Sub PMAT(A, B, C)


Dim i As Integer, j As Integer, k As Integer
Dim n As Integer, m As Integer, p As Integer


n = UBound(A, 2)
m = UBound(A, 1)
p = UBound(B, 2)


ReDim C(m, p)


For i = 0 To m
    For j = 0 To p
        For k = 0 To n
            C(i, j) = C(i, j) + A(i, k) * B(k, j)
        Next
    Next
Next


End Sub

et une autre qui calcule la transposé du vecteur X

Sub Tvect(X, tx)


Dim i As Integer, n As Integer


n = UBound(X, 1)


ReDim tx(0, n)


For i = 0 To n
    tx(0, i) = X(i, 0)
Next


End Sub

dans mon programme principal, j'appelle les sub :

Call Tvect(X, tx)


Call PMAT(m, X, p1)
Call PMAT(tx, p1, p2)

et je veux calculer :


A = 1 / 2 * Sin(an) * p2

p2 est normalement une matrice ne comportant qu'un seul nombre.
Le programme ne marque "incompatibilité de type" en surlignant la ligne "A=..."

où est le problème ????

1 réponse

Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Sub PMAT(A, B, C)

Essaie en mettant des types à ces variables/paramètres
Call PMAT(m, X, p1)
m = UBound(A, 1)
Est-ce que m est un tableau ?

MPi²