VBA fusionner des matrices dans une matrice

djebenz Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   -  
djebenz Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je rencontre un problème de taille de Mémoire dans excel VBA que j'aimerais suppléer en créant des "morceaux" de matrice que j'assemblerai ensuite dans une plus grande matrice.

En effet, je fais un très grand nombre de simulations (plus de 10 millions) grâce à une fonction qui me retourne un variant.

Le problème est, que le nombre de simulation est limitée par la taille mémoire excel.

Pour contourner le problème de mémoire, j'appelle ma fonction "simulation()", par exemples X fois, dans X matrices différentes.

Cependant je souhaiterais regrouper ces X matrices dans UNE (de dimension égale à la somme des dimensions des X matrices).

Par exemple, si j'ai 10 matrices de taille (4,3) ma matrice finale sera de taille (40,30).

Si quelqu'un avait la solution ou un "morceau" de solution ;), cela serait grandement apprécié.
Merci beaucoup.


<config>Windows XP / Chrome
Excel 2003
A voir également:

5 réponses

lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
Bonjour,
Je comprend pas,
Ta simulation, ce sont des tests ? , ça ne met donc pas 10 millions de variables en mémoire ?Ce ne serait pas plutôt un problème de déclaration de tes variables ?
Quand tu faisais en une seule fois quel était le message d'erreur.

A+
0
djebenz Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

Désolé de ne répondre que maintenant, je pensais recevoir une alerte au moment d'une réponse et comme le weekend a été long...
Bref, merci pour ta réponse.


Mes simulations ne sont pas des tests, elles sont stockées dans un type variant.
Le message d'erreur est :
"Erreur d'éxécution '7' :

Mémoire insuffisante."

Je pense réellement que le problème est un problème de mémoire. D'ailleurs suivant l'ordinateur sur lequel je travaille, le nombre de simulations maximum n'est pas le même.
0
djebenz Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
Je viens de me rendre compte d'une erreur dans la description de mon problème :

- "Si j'ai 10 matrices de taille (4,3) ma matrice finale sera de taille (40,30)." est faux.

- En réalité ça serait :
"Si j'ai 10 matrices de taille (4,3) ma matrice finale sera de taille (40,3) ou bien, selon la situation, (4,30) ."
0
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
Je pense que tu n'a pas d'alternative, déclarer un tableau comme tu l'explique prendra autant de mémoire que si tu fais la simulation en une seule passe.
Conclusion : Aucune solution pour faire cela en une seule fois.
A+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
djebenz Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
Le problème se manifeste directement dans le Redim donc en effet, il semble que tu aies tout à fait raison car je ne pourrais pas déclarer de variant assez grand pour contenir tous mes tableaux.

En revanche, si le problème se manifestait dans une fonction (qui retourne un variant), càd que m'a fonction a une limite de taille (comme peuvent avoir des fonctions de produit matricielle) j'aurais besoin de fusionné mes différents variants.

Quelqu'un aurait-il une idée pour faire cela?
Merci
0