(Ben oui, je te demande pourquoi !me demande pas pourquoi )
Est-ce vraiment un fichier .txt ne contenant que du texte ?
Combien de lignes a-t-il donc ? + de 20000 ? :
(Ben oui, je te demande pourquoi !me demande pas pourquoi )
Est-ce vraiment un fichier .txt ne contenant que du texte ?
Combien de lignes a-t-il donc ? + de 20000 ? :
Bon !
Je viens de me fabriquer un fichier texte de 56315 lignes !
J'ai lancé mon code
Résultat en 1/8 de seconde !
De quoi est donc composé ton fichier ?
Peux tu nous faire parvenir un petit bout de ce truc-là, que l'on voie si c'est du texte ?
euh ca j'ai pas envie de les compter mais c'est possible
bon allez jviens de les compter pour toi : 35770
En testant sur un plus petit qui doit avoir moins de 100 lignes, ca me copie les premiere ligne (ca s'arrete vers la 8eme) et au passage si je relance la macro une seconde fois il me dit que le fichier (texte) est deja ouvert alors je doit relancer excel pour la ré executer (jai pas trouver comme faire autrement).
Donc là me demande plus pourquoi , en voyant ton code je compernd pas pourquoi j'ai pas la derniere ligne
(Au passage merci pour ta réponse ouskel )
Regarde mon message précédent !
montre-nous un petit bout de ce fichier, qu'on voie un peu !!!!!
et fiche-donc un close , nom de ... !
Tiens on s'est croisé !!
Ohh la composition de mon fichier texte est secrete
Bon allez tiens vla un petit morceau !
MVS_SYSTEM_ID;DATE;TIME;SERVICE_CLASS;MIPS;
CPUF;2006-01-03;00.00.00;B2_V4;0019,00;
CPUF;2006-01-03;00.00.00;B2_V1;0000,00;
CPUF;2006-01-03;00.00.00;B2_V9R;0008,00;
CPUF;2006-01-03;00.00.00;B3_V3;0000,00;
CPUF;2006-01-03;00.00.00;B3_V6P;0000,00;
CPUF;2006-01-03;00.00.00;B3_V7;0000,00;
CPUF;2006-04-03;00.00.00;B3_V8;0289,73;
CPUF;2006-01-03;00.00.00;B3_V9;0000,00;
Etc.. il faisait quelle taille ton fichier de 50000 lignes?
et je vien de voir ton nouveau post !! reste calme petit diable
1) taille de mon fichier d'essai : 1,78 MO !!!
2) ton petit bout, tel que donné : aucun problème !
Je me demande ce que sont ces ";" qui sont généralement utilisés pour séparer des données !
Es-tu certain de ce que ton fichier (le bon, pas par copier-coller) a bien plusieurs lignes séparées par un retour-charriot ????
J'ai comme l'impression que le fichier en cause a été généré par un truc du genre :
http://www.developpez.net/forums/viewtopic.php?t=485966
par un nommé Elstak
dis-nous
Euh,
moi il fait 9mo le mien :S
sinon pour les lignes, bonne question comment voir?
quand j'ouver le fichier avec word il y a bien 1 ligne par ligne (y'a un ptit truc sur word pour voir si on tape sur entree a la fin d'une ligne non? )
Un petit truc ?
Un énorme, oui : afficher les marques et séparateurs !
Tu as çà tans ta barre (sinon rajoutes-le) !
EDIT : je viens de "pousser le bouchon" à 450000 lignes et plus de 14 MO
Résultat (et bon) en 1/2 seconde
hehe, ta edité ton post de 11:52? parce que j'avais pas vu la fin (et je vois pas que ca avait été edité non plus )
donc pour repondre a la question: non!
Là en gros je veux juset voir si le fichier est complet en regardant si il y a bien la derniere ligne (c'est pour ca que je la veux !!) enfin je verifie si elle contient bien un morceau de texte pour etre plus exact..
Et ensuite si c'est complet je veux copier ce fichier sous excel pour qu'il soit tout beau tout propre (c'est à ca que servait mon autre post)
J'espere que c'est plus clair maintenant
Je déjeune et reviens te fabriquer un petit machin qui va te faire DECOUVRIR ce qu'est en réalité ton fichier texte
A + donc
Hello jmf,
Si la dernière ligne est un crlf, tu auras une ligne vide.Envoyé par tu
J'ai testé, pour le temps, j'ai comme toi : rien de perceptible pour 55000 lignes.
Mais ma dernière ligne ayant un crlf tout court, j'avais une chaîne vide.
En supprimant cette ligne, c'est ok
Juste pour mettre du sel dans la discussion
A+
Vivement tout à l'heure, qu'on voit la "machine à découvrir la réalité" de jmf... Je vais rester devant mon PC et ne pas déjeûner pour être sûr d'être là quand il enverra ça!
Voilà ! voilà ! (il me fallait déjeuner, quand même !...)
alors :
lancer celà et me dire scrupuleusement ce qui s'affiche. Je dirai ce que le résultat veut dire
J'attends !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 Private Sub Command1_Click() Dim cpt As Double, cpt1 As Double, fic As String, I As Double, titi As Double fic = "d:\essai.txt" '===== où tu remplece par le chemin complet de ton fichier Open fic For Input As #1 For I = 1 To 10000 Input #1, toto If toto = "" or EOF(1) Then Exit For '******* Corrige ici cpt = cpt + 1 Next Close #1 Open fic For Input As #1 While Not EOF(1) Line Input #1, toto cpt1 = cpt1 + 1 If Len(toto) > 2000 Then titi = Len(toto) Wend Close #1 MsgBox cpt & " " & cpt1 & " " & titi End Sub
Ben non !
Il a un fichier énorme !
Alors une boucle sur les 1000 1ers suffit (je veux seulement voir s'il y a une ligne vide)
ensuite, je me contente de voir combien il a de lignes normales (il nous a dit combien il pensait en avoir) ... et de chercher la confirmation d'une ou plusieurs lignes démesurées...
Je ne sais pas, ... mais je "sens" que ce fichier a été généré de façon "particulière" (dieu sait comment) et que c'est ce qu'il devra corriger, en réalité !
J'attends avec impatience qu'il revienne car j'ai encombré mon disque avec un fichier encore plus grand pour tester (j'aimerais bien le zigouiller le plus vite possible )
hop hop apres une breve interruption (due à une coupure EDF ) me revoilà
alors bon je suis un peu pommé moi là dedans faut boire moins de café les gars
j'ai testé ton code jmf et voilà le resultat
10000 43009 0
voilà et jai aussi regardé sous word et en fait je vois des P (dans l'autre sens) loinnnnnn au bout de la ligne et yen a aussi un a la derniere ligne mais moins loin (du style LIGNE......P)
voilà! 43009 c les lignes non?
sinon je doit aussi tester ton code ouskel?
Bon : analyse :
1) pas de lignes vides parmi les 10000 premières (il est vraisemblable que tu n'en pa pas ailleurs
2) tu as 43009 lignes (et pas 35770 comme tu le croyais)
3) aucune ligne ne contient plus de 2000 caractères
4) tu as un retour charriot à la fin
tout devrait donc être bon si ce n'est ce retour-charriot...
Supprimes-le manuellement, pour voir, et relances ton code (pas celui-ci mais celui devant aller à la pêche de la dernière ligne). Si celà va bien, la correction sera élémentaire .
Si celà ne va pas, c'est incompréhensible et je vais te demander de nous mettre ici le code exact de ta pêche à la dernière ligne !
Yop !
Bon ca je pouvais te le dire qu'il y avant pas de ligne vide
En supprimant le retour là je suis ok avec toi c rapide et j'ai le resultat
Maitenant t'aurais pas une idée pour le supprimer à l'ouverture ou un truc du genre?
Ben voilà !
Je reviens dans quelques secondes !
Résout ton problème
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 dim laderniere as string, jmfcoucou as string laderniere = "" open "....\.....txt" for input as #1 while not EOF(1) line input #1, jmfcoucou if jmfcoucou <> "" then laderniere = jmfcoucou wend close #1 msgbox laderniere
Mais pas celui de l'écriture indue d'un retour-charriot (à corriger dans le code générateur du fichier, de préférence à ici)
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager