Remplir une grosse matrice

cs_olive2 Messages postés 4 Date d'inscription jeudi 30 octobre 2003 Statut Membre Dernière intervention 23 mai 2004 - 21 mai 2004 à 22:33
cs_olive2 Messages postés 4 Date d'inscription jeudi 30 octobre 2003 Statut Membre Dernière intervention 23 mai 2004 - 23 mai 2004 à 00:00
Bonjour à tous, voici mon problème,
Je récupère au format ascii des enregistrements des voies de mesures,
Les fichiers générés sont gros (et de taille nettement supérieure aux 65536 lignes des feuilles Excel),

Afin de pouvoir les analyser et les traiter (calculs divers, moyenne…) j’utilise ce type de code :

Do While EOF(1) = False
Line Input #1, Ligne
'Rechercher la position des points virgules (séparateur par défaut)
‘et remplissage de la matrice Data(Nligne, Ncolone)
j=j+1
for i = 1 to len(Ligne)
PointVirgule = InStr(1, Ligne, ";")
Data(j,i) = Mid(Ligne, 1, PointVirgule - 1)
Next i
Loop
Close #1

Néanmoins cette méthode est extrêmement lente lorsqu’il s’agit d’analyser un fichier de 500.000 lignes et 50 colonnes, existe t’il une méthode nettement plus rapide en VBA, une API qui le ferait,
Actuellement on m’a fait ce code en Matlab, qui traitant de façon vectorielle les données est nettement plus rapide, mais ne disposant que d’Excel j’aimerai m’affranchir d’un autre logiciel.

Par avance merci.
Olive.

6 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
22 mai 2004 à 00:42
Faut que tu te fasses une DLL en C pour traiter de pareilles volumes, la solution est hors de portee de VB.

ciao...
BruNews, Admin CS, MVP Visual C++
0
Rejoignez-nous