cs_olive2
Messages postés4Date d'inscriptionjeudi 30 octobre 2003StatutMembreDernière intervention23 mai 2004
-
21 mai 2004 à 22:33
cs_olive2
Messages postés4Date d'inscriptionjeudi 30 octobre 2003StatutMembreDernière intervention23 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.
cs_olive2
Messages postés4Date d'inscriptionjeudi 30 octobre 2003StatutMembreDernière intervention23 mai 2004 22 mai 2004 à 08:34
Merci pour ta réponse, ça m'évitera de continuer à chercher pour rien sous VBA...
J'ai par contre remarqué que pour une boucle "pure" VBA était plus rapide que Matlab, donc je pensais que mon code était mal fait pour ce pb.
saurais tu par hasard si qq'un c'est déjà penché sur ce pb en C (dll) et où/comment la retrouver.
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 22 mai 2004 à 10:19
Mais non ce n'est pas trop complique, faut s'y mettre, seulement de la pure logique.
Pour la DLL, il ne s'agit pas de la retrouver mais bien de la faire sur mesure pour ton probleme.
cs_olive2
Messages postés4Date d'inscriptionjeudi 30 octobre 2003StatutMembreDernière intervention23 mai 2004 22 mai 2004 à 22:34
J'ai une autre question alors ;)
j'ai "récupéré" visual C++ 6,
j'ai donc en main toutes les cartes, j'ai acheté un gros pavé de +600 pages, mais comme j'aime pas attendre et me taper tout le tutorial, où pourais-je trouver un bon tutorial qui m'explique (vite) comment récupérer un bout de code VBA, le transformer en C++ "facilement", le compiler,
et surtout comment on en fait une dll avec C++, ou un .exe
qui sera plus rapide, et que je pourrais appeler depuis Excel, où je mets mes résultats.
Merci encore pour tes réponses et tes encouragements.
A+
Olive.
Vous n’avez pas trouvé la réponse que vous recherchez ?
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 22 mai 2004 à 22:42
Alors la tu n'es pas sur la bonne voie.
Tranformer du VB en C, NON !
La 1ere chose a faire est un lavage de cerveau quasi au sens propre, faut OUBLIER tout ce que tu sais de VB et te mettre a penser en C, acces direct a la memoire.
Tu trouveras exemples sur cppfrance de DLL en C et ASM que j'ai fait pour VB pmais te reste a apprendre a manier tres correctement les pointeurs etc... avant.
En avant, tu as tout a y gagner.