Je cherche le meilleur moyen de charger des données formatées en VBA. J'ai passé un certain temps à essayer de trouver l'équivalent des fonctions de type fscanf
de type C ou Fortran, mais sans succès. Fondamentalement, je veux lire à partir d'un fichier texte des millions de chiffres placés sur plusieurs lignes (100 000) avec 10 numéros chacun (sauf la dernière ligne, éventuellement 1-10 numéros). Les nombres sont séparés par des espaces, mais je ne connais pas à l'avance la largeur de chaque champ (et cette largeur change entre les blocs de données). par exemple.Chargement de données formatées dans VBA à partir d'un fichier texte
397143.1 396743.1 396343.1 395943.1 395543.1 395143.1 394743.1 394343.1 393943.1 393543.1
-0.11 -0.10 -0.10 -0.10 -0.10 -0.09 -0.09 -0.09 -0.09 -0.09
0.171 0.165 0.164 0.162 0.158 0.154 0.151 0.145 0.157 0.209
Auparavant, je l'ai utilisé la fonction Mid
mais dans ce cas, je ne peux pas, parce que je ne sais pas à l'avance la largeur de chaque champ. De plus, il y a trop de lignes à charger dans une feuille Excel. Je peux penser à une manière de force brute dans laquelle je regarde chaque caractère successif et détermine si c'est un espace ou un nombre, mais il semble terriblement maladroit.
Je suis également intéressé par les pointeurs sur la façon d'écrire des données formatées, mais cela semble plus facile - il suffit de formater chaque chaîne et de les concaténer en utilisant &
.
Super! Je vais utiliser une combinaison de ces deux méthodes. –
Heureux d'être de l'aide :) –
Plus d'un an plus tard et il est toujours utile :) – PowerUser