Bonjour,
Pour info je travaille sur Excel 2010.
J'ai des soucis avec la gestion de la mémoire pour mettre un fichier texte en mémoire via VBA, ainsi que pour utiliser des fonctions telles que Space / Get / Replace / Split
Je souhaite mettre en mémoire dans une variable string un fichier important (>50Mo) et le manipuler ensuite pour l'éclater en ligne puis en cellule
J'utilise pour cela une fonction qui contient le code suivant :
La variable filecontent est déclaré en global parce qu'utilisé dans plusieurs fonctions / procédures
1 2 3 4 5
| szFileName = LB_File_Path.Caption
f = FreeFile
Open szFileName For Binary Access Read As #f
fileContent = Space(LOF(f))
Get #f, , fileContent |
Or je plante avec l'erreur 14 "Espace de chaine insuffisant" sur la fonction "Space", ceci de manière aléatoire (en fonction de la mémoire dispo sur mon PC je suppose...)
Je peux avoir également la même erreur sur la fonction "Get" / Replace / Split sachant que j'ai besoin de ces fonctions ... 
fileContent = Replace(fileContent, vbLf, vbCrLf)
Y'a t-il une autre manière de mettre un fichier en mémoire ? La fait de découper le fichier en plusieurs morceaux ne changeant rien ...
Partager