Lecture de fichiers impossible

damdam1 Messages postés 33 Date d'inscription vendredi 31 octobre 2003 Statut Membre Dernière intervention 2 février 2004 - 17 nov. 2003 à 11:58
cs_radada Messages postés 488 Date d'inscription lundi 15 septembre 2003 Statut Membre Dernière intervention 21 avril 2009 - 17 nov. 2003 à 15:51
je programme en vb5 depuis 1 mois et demi et j'ai dévellopé 2 applications mais la je comprend plus rien après avoir déjà reçu de l'aide sur ce forum toutes les solutioins testée ne marche pas
input #, Line Input,
je crois que je vais abandonner le projet qu'on m'a confié
;)

15 réponses

cs_radada Messages postés 488 Date d'inscription lundi 15 septembre 2003 Statut Membre Dernière intervention 21 avril 2009 1
17 nov. 2003 à 12:01
Euh, ok, mais c'est quoi ton pb?????? Quels messages d'erreurs, donne un exemple de ce qui ne marche pas, etc.... Car là, je ne crois pas qu'on puisse faire grand chose :big) :big) :big) :big)
0
damdam1 Messages postés 33 Date d'inscription vendredi 31 octobre 2003 Statut Membre Dernière intervention 2 février 2004
17 nov. 2003 à 12:22
l'erreur était l'erreur 62 l'entrée depasse la fin du fichier (alors que j'avais le même nbre de variables)
je ne pe pa lire le fichier donc ramener les valeurs indispensable a mon prog
le fichier a lire est un.dat
la lecture dans excel en utilisant la vigule comme séparateur me donne un tableau correct les enregistrements dans le fichiers sont sous cette forme :
18802,76.000000,76.000000,1023.775085,890.522461,160.387726,170.145584,165.668015,165.400452,0.000000,0.000000,0.000000,0.000000,15.752380,15.531122,17.189699,48.473202,13.515612,15.635038,13.032000,42.182648,20.755943,22.037926,21.571247,64.257507,0.758930,0.704742,0.796876,0.754357,45.994678,48.795116,47.508289,47.432693,428.595276,428.543793,429.641876,428.926971,15.535685,15.287236,16.958506,47.781425,12.134617,14.267576,11.359599,37.761791,19.713102,20.910843,20.411551,60.901703,0.788085,0.731064,0.830825,0.784565,1.737940,1.997172,1.524937,1.753350,23.655716,25.997746,25.248322,24.967260,14.477929,14.096754,15.829987,44.404671,314.767151,288.890900,333.197723,312.285278,6.843556,5.920488,7.013465,6.583756,121.082344,108.202675,140.141769,123.142601,98.326935,87.867783,113.804459,1,0,0,0.000000,76.000000,76.000000,76.000000,0.000000,0.000000,0.000000,0.000000,3.000000,0.000000,100.000000,20.013157,5.000000,2.000000, xxx

;)
0
cs_radada Messages postés 488 Date d'inscription lundi 15 septembre 2003 Statut Membre Dernière intervention 21 avril 2009 1
17 nov. 2003 à 12:30
Mais tu fais une boucle (pour lire tes valeurs) sur un nombre fini alors, c'est ça??? Et du coup, tu "sors" du nb max??? Si c'est ça, fais une boucle while not EOF(1) avec ton fichier ouvert en random as #1 et ça devrait passer non???... Je ne comprends pas bien ton pb, donc peut être que cela pourra t'aider... Et essaie de faire un
on error goto erreur
...
erreur:
msgbox Err.number & " " & Err.Description

pour voir si tu ne peux pas faire un
On Error Resume Next


sPeut être cela le fera, je sais pas trop...
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
17 nov. 2003 à 12:38
Avec quelle fonction as tu ce problème ? Input ou line input ?

As tu vérifié le chemin d'accès à ton fichier ?

DarK Sidious

[Responsable de la rubrique API et responsable VB du site www.ProgOtoP.com]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
damdam1 Messages postés 33 Date d'inscription vendredi 31 octobre 2003 Statut Membre Dernière intervention 2 février 2004
17 nov. 2003 à 12:43
voila mon code en fait aprés je voulais grâce a inString récupérer les valeurs entre virgule qui m'interressé et les placer dans des tables

NfNew = FreeFile
Open "C:\Documents and Settings\Administrateur\Bureau\Simeltic\Simelt\HeatReport.dat" For Input As #NfNew
Do While Not EOF(NfNew) ' Effectue la boucle jusqu'à la fin du fichier.
LineInput #NfNew, Chaine1' Loop
Close #NfNew

;)
0
damdam1 Messages postés 33 Date d'inscription vendredi 31 octobre 2003 Statut Membre Dernière intervention 2 février 2004
17 nov. 2003 à 12:44
g des problémes avec les deux et oui je suis sûr du chemin du fichier

;)
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
17 nov. 2003 à 13:02
Bon, tu veux une dll qui t'importe les valeurs dans une listbox ou un truc de ce genre ?
BruNews, ciao...
0
Shivan0910 Messages postés 149 Date d'inscription mardi 7 janvier 2003 Statut Membre Dernière intervention 24 novembre 2010 3
17 nov. 2003 à 13:41
y'a pas de loop dans ta boucle, c normal ??
0
Shivan0910 Messages postés 149 Date d'inscription mardi 7 janvier 2003 Statut Membre Dernière intervention 24 novembre 2010 3
17 nov. 2003 à 13:42
ah merde je l'avais pas vu excuse j'ai rien dit !!
0
cs_radada Messages postés 488 Date d'inscription lundi 15 septembre 2003 Statut Membre Dernière intervention 21 avril 2009 1
17 nov. 2003 à 13:53
A mon avis c parce que tu fais un
DO While..

Fais simplement un

While not EOF

et ça devrait marcher comme ça ; )
0
cs_radada Messages postés 488 Date d'inscription lundi 15 septembre 2003 Statut Membre Dernière intervention 21 avril 2009 1
17 nov. 2003 à 13:59
Et pour séparer, tu peux utiliser un split.

Dim lignes() as String
lignes = Split(Ton_texte, ",")

Ligne sera un tableau de string qui contiennent toutes les chaines séparées par les virgules....

Et fais un traitement dans ton While not EOF.... Wend, car sinon, tu réécrase chaine1 à chaque fois.. Je pense que tu t'en doutes, mais je préfère te le dire au cas où :big) :big) :big) :big)
0
cs_radada Messages postés 488 Date d'inscription lundi 15 septembre 2003 Statut Membre Dernière intervention 21 avril 2009 1
17 nov. 2003 à 14:02
Et un dernier, je suis bête. Si tes données dans le .dat sont séparées par des virgules, fais simplement:

while not EOF(NfNew)
Input #1, chaine1
'ton traitement pour chaque valeur
Wend

puisque Input prends chaque string éparé par une virgule....
0
damdam1 Messages postés 33 Date d'inscription vendredi 31 octobre 2003 Statut Membre Dernière intervention 2 février 2004
17 nov. 2003 à 14:49
povait m'indiquer si il y a une méthode rapide pour extraire les valeurs d'une chaine de caractéres qui sont délimités par des virgules ?? radada comment se présente le tableau de string obtenu en utilisant Split
;)
0
damdam1 Messages postés 33 Date d'inscription vendredi 31 octobre 2003 Statut Membre Dernière intervention 2 février 2004
17 nov. 2003 à 15:01
g encore un souci en utilisant le code suivant
NfNew = FreeFile
Open "C:\Documents and Settings\Administrateur\Bureau\Simeltic\Simelt\HeatReport.dat" For Input As #NfNew
While Not EOF(NfNew) ' Effectue la boucle jusqu'à la fin du fichier.
Input #NfNew, Chaine1 ' lit et affecte le contenu du fichier a Chaine1
Cells(15, 3) = Chaine1

Wend

je ne retrouve que xxx qui est la fin d'une ligne voir plus dans les messages précédent
;)
0
cs_radada Messages postés 488 Date d'inscription lundi 15 septembre 2003 Statut Membre Dernière intervention 21 avril 2009 1
17 nov. 2003 à 15:51
Ben c'est un tableau donc chaque entrée est le texte compris entre 2 délimiteurs

Exple :
Texte = "et,merde,watcha"
Dim Lignes() as String

Lignes=Split(Texte,",")

Tu obtiens :
Lignes(0) = "et"
Lignes(1) = "merde"
Lignes(2) = "watcha"

; ))

Et pour ta réonse c parceque dans les dat, je ne crois pas que les valeurs soient séparées par des ",". essaie donc avec le
While not EOF(#NfNew)
Line Input #NfNew, chaine1
lignes=Split(chaine1, " ") 'délimiteur = espace
for i=0 to Ubound(lignes)
ton traitement
next i
Wend
0
Rejoignez-nous