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
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...)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Je peux avoir également la même erreur sur la fonction "Get" / Replace / Split sachant que j'ai besoin de ces fonctions ...
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 ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part fileContent = Replace(fileContent, vbLf, vbCrLf)
Partager