Inversion de matrice sous VBA

Inversion de matrice sous VBA - VB/VBA/VBS - Programmation

Marsh Posté le 17-01-2008 à 16:23:56    

Bonjour, je veux inverser une matrice (4, 4) en VBA
pour ce faire j'utilise MatDateInv = Application.WorksheetFunction.MInverse(MatriceDate)
avec MatriceDate un tableau (4,4), seulement ca bug et mon programme s'arrete,
quelqu'un connait il une solution alternative ou comment je peux fixer ce bug?
 
merci pour votre aide
P

Reply

Marsh Posté le 17-01-2008 à 16:23:56   

Reply

Marsh Posté le 17-01-2008 à 16:35:11    

C'est pour Excel je suppose ?
 
- Est-ce que tu déclares bien MatriceDate et MatDateInv en tant que Arrays ?  (Si tu ne travailles pas en Option Explicit, je te le conseille vivement! :) )
- Est-ce que tu n'as pas de cellule vide ?
- S'il y a des références internes à la matrice, dans une des cellule, cela provoquera à coup sûr des erreurs ..
 
Tu peux fournir la manière dont tu remplis MatriceDate aussi ?

Reply

Marsh Posté le 17-01-2008 à 16:57:33    

c'est un programme VBA pour faire une fonction que j'utilise sous excel
 
Dim MatriceDate(4, 4)
Dim MatDateInv as variant
 
MatriceDate(1, 1) = CDbl(TabMat(j - 2) ^ 3)
MatriceDate(1, 2) = TabMat(j - 2) ^ 2
MatriceDate(1, 3) = CDbl(TabMat(j - 2))
MatriceDate(1, 4) = 1
MatriceDate(2, 1) = CDbl(TabMat(j - 1) ^ 3)
MatriceDate(2, 2) = TabMat(j - 1) ^ 2
MatriceDate(2, 3) = CDbl(TabMat(j - 1))
MatriceDate(2, 4) = 1
MatriceDate(3, 1) = CDbl(TabMat(j) ^ 3)
MatriceDate(3, 2) = TabMat(j) ^ 2
MatriceDate(3, 3) = CDbl(TabMat(j))
MatriceDate(3, 4) = 1
MatriceDate(4, 1) = CDbl(TabMat(j + 1) ^ 3)
MatriceDate(4, 2) = TabMat(j + 1) ^ 2
MatriceDate(4, 3) = CDbl(TabMat(j + 1))
MatriceDate(4, 4) = 1
 
MatDateInv = Application.WorksheetFunction.MInverse(MatriceDate)
 
je n'ai pas de cellule vide dans MatriceDate
je suis en option explicit
merci beaucoup

Reply

Sujets relatifs:

Leave a Replay

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