Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

inverse de tableau(matrice)

  • Initiateur de la discussion Claudia
  • Date de début
C

Claudia

Guest
Bonjours à tous,

Je dois effectué une inverse de matrice avec vba.

Ma matrice a 288 par 288. alors quand je fais application. worksheetfunction.inversemat... ca bug... est ce qu'il y a quelqu'un qui sait comment augmenter le nombre limite de colonnes dans excel ou encore comment effectuer l'inverse d'une matrice sans passer par les fonctions d'excel.

Merci beaucoup

Claudia
 
V

Vériland

Guest
Bonsoir Claudia et le forum,

Une matrice de 288 sur 288...c'est à dire sur 288 colonnes ?

Ben non..."not possible"...lol

Excel est limité à 256 colonnes donc forcément y aura toujours beug...et il n'existe aucun moyen d'aller au delà...(mince!...)

la seule solution serait de travailler sur deux feuilles..."fifti fitfi" quoi...lool

 
C

Claudia

Guest
Et comment je fais pour effectuer une opération sur les deux feuilles en même temps ??

Parce que je pense que je ne pourai pas effectuer la matrice inverse sur deux feuilles ?

Merci
 
V

Vériland

Guest
ben là il me sera un peu difficile de répondre à ta question...c'est trop vague et général en même temps...il me manque des données sur ce que tu souhaiterais réellement faire...envoie p'têt un p'ti-t fichier (en zip) avec un support concret on s'en sortira certainement mieux...

A suivre !...

 
C

Claudia

Guest
Salut,

Je vais essayer d'être plus clair ... car je ne peux pas t'envoyer mon fichier.

Je travaille seulement dans vba... je ne passe pas par excel. Je dois utiliser la fonction inverse de excel.

Mon tableau a 288 rangées par 288 colonnes. Mais comme je vais chercher une fonction d'excel, ca ne fonctionne pas.... et si je vais mettre mon tableau dans excel sur deux feuilles comme tu me le propose, je ne peux pas mettre la fonction inverse sur les deux feuilles en même temps. Le problème est que la fonction inverse agit sur toutes les cellulles en même temps. Alors je ne peux diviser mon tableau en deux parties distinctes.

La question clair... est ce qu'il est possible de prendre deux tableaux distincs et d'effectuer une fonction sur eux comme si c'était juste un. Et si cela est possible, il faut que mon tableau résultat apparaisse sur deux feuilles aussi.... et cela doit ce faire si possible à partir de vba... sans trop passer par excel parce que mon programme est déjà lent.
 
V

Vériland

Guest
ouf !...

Tu travailles dans vba mais tu ne passes pas par Excel ?

Bon...

du coup j'ai regardé dans l'aide à propos de Inversemat et elle dit : représente une matrice numérique comportant un nombre égal de lignes et de colonnes....

Ok...

à partir de là c'est clair que pour 288 ça va pas...et de couper le tableau en deux c'est encore pire...lool

...mais là je ne maîtrise pas suffisament la fonction Inversemat (j'voyais ça autrement...hi hi hi) et pour te donner des infos précises ben faut connaitre...par contre j'ai vu dans l'aide qu'on pouvait travailler avec la fonction INDEX...donc je cherche encore un peu de ce côté...

Mais sur ce coup je vais quand même passer le relais à mes collègues...lool...

Donc si quelqu'un à des infos pour Claudia qu'il (elle) n'hésite pas...

 
S

sylvain

Guest
bonjour,

il faut regarder la matrice et sa forme car si elle est diagonale par blocs il suffit d'inverser chaque bloc pour trouver la matrice inverse.

A+
 
B

bracq

Guest
salut a tout le forum,

apres quelques temps d abscence j reviens... sylvain a donne une bonne reponse mais si ta matrice n est pas symetriquement-bloc alors ce n est pas possible... j te propose une solution derivative... il te fo exporter ta matrice (258*258...belle!!!) sous un soft plus efficace comme matlab... il est optimise pour cela... mais meme sous matlab si tu n as pas une grosse becane cela va prendre du temps....

voili voilou... a+
 

Discussions similaires

Réponses
20
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…