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 -
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
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:
- VBA fusionner des matrices dans une matrice
- Comment fusionner des pdf sans logiciel - Guide
- Fusionner mp3 - Télécharger - Audio & Musique
- Fusionner deux cellules excel - Guide
- Fusionner deux tableaux excel - Guide
- Incompatibilité de type vba ✓ - Forum Programmation
5 réponses
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+
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+
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.
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.
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) ."
- "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) ."
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+
Conclusion : Aucune solution pour faire cela en une seule fois.
A+
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
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