"InverseMat.Ext" dans module VBA

Nicolas SOULLIER

XLDnaute Nouveau
Bonjour,

Depuis quelques jours je suis à la recherche d'un outil permettant d'inverser des matrices d'une taille supérieure à 50 x 50. Chose faite grâce à M. Laurent LONGRE que je remercie !

Néanmoins, je me heurte à l'utilisation de cette nouvelle fonction dans un module VBA. En effet, il est possible de faire appel à InverseMat avec "MInverse" cependant je n'ai pas pu utiliser la nouvelle fonction InverseMat.Ext...

Quelqu'un c'est-il déjà confronté à ce problème ?

Je vous remercie d'avance pour vos réponses.

Cordialement,
Nicolas SOULLIER
 

Dranreb

XLDnaute Barbatruc
Bonsoir.
J'ai des outils dans ce classeur.
Dont une inversion de matrice en 'quadruple précision'. C'est à dire en fait en gardant le plus longtemps possible les divisions sous forme de rapports de Double. Jusqu'à 255×255

C'est un peu un fouillis, n'y prêtez pas attention, je l'utilise comme brouillon au gré des besoins, surtout pour trouver des formules exprimant des solutions de toutes petites systèmes (il y a en effet aussi un système d'inversion de matrice qui cherche à déterminer des formules).
 

Pièces jointes

  • Mat.xlsm
    93.4 KB · Affichages: 58
Dernière édition:

Nicolas SOULLIER

XLDnaute Nouveau
Bonsoir,

Merci beaucoup ! Avec ça je vais pouvoir inverser des superbes matrices de souplesse résultant d'un théorème des cinq moments qui va m'éviter bien des démonstrations avec un théorème de FontViolant si lourd lorsque bien mal utilisé.
Vous allez me faire gagner beaucoup de temps avec cet outil, encore merci.

Bonne soirée,
 

Nicolas SOULLIER

XLDnaute Nouveau
Bonjour,

Je reviens vers vous car pour être franc j'ai tenté de me plonger un peu dans votre code, mais je suis loin d'avoir le niveau pour bien comprendre...

J'ai constaté que "MatriceInverse" utilise des "Range". Néanmoins l'ensemble de mes tableaux sont des matrices...

De plus j'ai testé la fonction suivante mais il me retourne une immense VALEUR...
Public Function Invtest(R As Range) As Variant
Invtest = MatriceInverse(R)
End Function


L'idée étant de pouvoir utiliser la fonction MatriceInverse avec des matrices directement...

Merci d'avance pour le temps que vous aurez pris pour lire ce message,
Bonne soirée
 

Dranreb

XLDnaute Barbatruc
Bonsoir.
MatriceInverse est écrit dans un module FctFc, et on peut difficilement deviner que ça signifie Fonctions pour feuille de calcul.
De fait elle commence par un commentaire "Fonctions de feuilles de calculs pour tests"
C'est donc plus une interface un peu étrangère à vos besoin, mais elle peut vous indiquer comment elle s'y prend pour utiliser les autres outils. En particulier CalculMatriceInverse du module InverseMat. Cette Sub travaille avec des tableaux de Double. J'espère que ça coïncide avec la forme de vos matrices. Si ce sont des tableaux de Variant il vous faudra vous écrire vos propres interfaces de conversion…

Ou encore opter pour les procédures du module InvMatQPréc.
Je doute un peu qu'on puisse souvent obtenir un résultat significatif pour de grosses matrices avec des calculs en Double précision seulement.
 
Dernière édition:

Discussions similaires

  • Résolu(e)
Microsoft 365 VBA dir()
Réponses
20
Affichages
1 K

Statistiques des forums

Discussions
312 084
Messages
2 085 194
Membres
102 813
dernier inscrit
kaiyi