Accueil > Forum > > > > Petit soucis avec un message "input past end of file"
Petit soucis avec un message "input past end of file"
mercredi 29 août 2007 à 12:17:54 |
Petit soucis avec un message "input past end of file"

droopyv
|
j'ai fait un script examine deux fichiers avec des nombres a l'interieur, et je créé un fichier excel et je classe ces nombres si il sont egaux ou pas. Tous ce passe bien mais quand mon fichier dépasse 7000 lignes , j'ai ce fameux message qui apparait "input past end of file" et la je ne vois pas pourquoi pourriez vous m'aider. Quand je le fais avec 100 ou 200 lignes j'ai pas de soucis mais peut etre que c'est du au trop grand nombre de lignes ?? Merci beaucoup Prevenez moi si vous avez besoin d'informations
|
|
mercredi 29 août 2007 à 12:25:00 |
Re : Petit soucis avec un message "input past end of file"

milhandril
|
Ton problème vient d'excel. Une feuille excel bloque après 6400 et quelques lignes.
|
|
mercredi 29 août 2007 à 13:12:46 |
Re : Petit soucis avec un message "input past end of file"

JMO
|
 Bonjour à tous Je ne suis pas expert en Excel, mais par curiosité, je viens de tester (xp et Excel 2003) le code ci-dessous: Dim objExcel Set objExcel = WScript.CreateObject("Excel.Application") objExcel.Visible = True objExcel.Workbooks.Add
NL = 1
For i = 0 To 20000 Cellule NL, 2, "'ligne " & NL NL = NL + 1 Next
MsgBox "fin"
Sub Cellule(NumL,NumC,chaine) objExcel.Cells(NumL,NumC).Value=Chaine End Subdroopyv , si pouvez poster quelques lignes de votre code, cela permettra de déceler une éventuelle erreur de boucle. jean-marc
|
|
mercredi 29 août 2007 à 14:17:58 |
Re : Petit soucis avec un message "input past end of file"

droopyv
|
ok voila mon code en complet
'On error Resume Next Set Fso = CreateObject("Scripting.FileSystemObject")
'Lien vers les deux fichiers examinés Set Txt3 = Fso.OpenTextFile("F:\test\download_03\resultat_d3.txt", 1) Set Txt4 = Fso.OpenTextFile("F:\test\download_04\resultat_d4.txt", 1)
Set xlapp = CreateObject("Excel.Application")
'variables Dim xlapp ' As Excel.Application Dim classeur ' As Excel.Workbook Dim feuille ' As Excel.Worksheet Dim feuille2 ' As Excel.Worksheet
'Compteur pour les lignes d'excel commencent à partir des lignes 2 cpt=2
'classeur non visible a l'ecran xlapp.Visible = False
'definition d'un classeur et deux feuilles Set classeur = xlapp.Workbooks.add Set feuille1 = classeur.WorkSheets(1) Set feuille2 = classeur.WorkSheets(2)
'personnalistion des deux feuilles feuille1.name = ("Fichiers non ok") feuille1.Range("A1") = "Md5 de download 3" feuille1.Range("B1") = "Md5 de download 4" feuille1.Range("C1") = "fichier non ok" feuille1.Range("D1") = "nom fichier download 3" feuille1.Range("E1") = "nom fichier download 4"
Feuille2.name = ("Fichiers ok") feuille2.Range("A1") = "Md5 de download 3" feuille2.Range("B1") = "Md5 de download 4" feuille2.Range("C1") = "fichier ok" feuille2.Range("D1") = "nom fichier download 3" feuille2.Range("E1") = "nom fichier download 4"
'boucle qui examine ligne par ligne, les deix fichiers Do Until txt3.AtEndOfStream and txt4.AtEndOfStream entier_3 = txt3.ReadLine() entier_4 = txt4.readline()
'nombre de caractere total pour le serveur3 et serveur4 total3 = len(entier_3) total4 = len(entier_4)
'Prendre les 34 caracteres en partant de gauche gauch3 = left(entier_3, 34) gauch4 = left(entier_4, 34)
'calcul du nombre de caractere pour la droite calcul3 = (total3 - 34) calcul4 = (total4 - 34)
'prendre les X caracteres de droite droit3 = right(entier_3, calcul3) droit4 = right(entier_4, calcul4)
'regarde si les 34 caracteres de gauche du serveur3 et serveur 4 sont egaux ou pas if gauch3 = gauch4 then feuille2.Range("A" & cpt) = ""&gauch3 feuille2.Range("B" & cpt) = ""&gauch4 'Mets la couleur bleue sur les lignes ok feuille2.Range("c" & cpt).Interior.ColorIndex = 5 feuille2.RAnge("C" & cpt) = "ok" feuille2.Range("D" & cpt) = ""&droit3 feuille2.Range("E" & cpt) = ""&droit4 'Mets automatiquement les colonnes a l abonne taille feuille2.Columns.AutoFit else feuille1.Columns.AutoFit feuille1.Range("A" & cpt) = "" & gauch3 feuille1.Range("B" & cpt) = "" & gauch4 'Mets la couneur rouge sur les lignes non ok feuille1.Range("c" & cpt).Interior.ColorIndex = 3 feuille1.Range("C" & cpt) = "pas ok" feuille1.Range("D" & cpt) = ""&droit3 feuille1.Range("E" & cpt) = ""&droit4 end if
'compteur de ligne cpt=cpt+1 'msgbox "clipclop" loop
xlapp.DisplayAlerts = False Classeur.Saveas "c:\md5_xls.xls" classeur.Close True 'quitte en sauvant xlApp.quit
voili voulou merci encore
|
|
mercredi 29 août 2007 à 19:29:38 |
Re : Petit soucis avec un message "input past end of file"

jack
|
Salut Dans ton Do-Loop, tu testes si tu es arrivé à la fin des fichiers. Si un des fichiers comportent moins de lignes que l'autre, c'est le clash : Do Until txt3.AtEndOfStream and txt4.AtEndOfStream signifie qu'il faut que les deux fichiers arrivent à la fin pour stopper la boucle. Il faut donc détecter la fin d'un des fichiers : Do Until txt3.AtEndOfStream OR txt4.AtEndOfStream
Vala Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
|
|
mercredi 29 août 2007 à 19:56:39 |
Re : Petit soucis avec un message "input past end of file"

JMO
|
 Bonsoir à tous, Bonsoir Jack, Oui, tu as raison pour le nombre de ligne. De même, il faut rajouter un test pour le nombre de caractères par ligne. 'nombre de caractere total pour le serveur3 et serveur4 total3 = len(entier_3) total4 = len(entier_4) If total3 >= 34 And total4 >= 34 Then Je teste at home. Les résultats sont surprenants !!! Dans l'exemple ci-dessous, à l'affichage du msgbox, je modifie 2 lignes du fichier2 - une ligne de la partie droite; - une ligne de la partie gauche. Résultat, dans le xls, seule la ligne modifiée à gauche est écrite dans l'onglet "fichiers non ok". Sur un fichier d'une centaine de lignes, c'est rapide. Par contre, si 20000 lignes, ça laisse le temps de se servir et de boire un apéro. Salut et bonne soirée. jean-marc Dim objFso, objTextStream Dim fichier1, fichier2, ligne, i fichier1 = "D:\SCRIPTS\Fichiers\fichier1.txt" fichier2 = "D:\SCRIPTS\Fichiers\fichier2.txt" ligne = "partie_gauche_123456789101112131415__fichier_123456789101112131415_partie_droite"
Set objFso = CreateObject("Scripting.FileSystemObject") Set objTextStream = objFso.OpenTextFile("D:\SCRIPTS\Fichiers\fichier1.txt", 2, True)
For i = 1 To 20 objTextStream.Write "ligne" & i &Space(5) & ligne &vbcrlf Next objTextStream.Close objFso.CopyFile fichier1, fichier2, True Set objTextStream = Nothing
MsgBox "avant de répondre ok à ce msgbox, modifiez quelques lignes du fichier2" &vbCrLf&_ "et enregistrer ce fichier"
Dim Txt3, Txt4, resultat 'Lien vers les deux fichiers examinés Set Txt3 = objFso.OpenTextFile("D:\SCRIPTS\Fichiers\fichier1.txt", 1) Set Txt4 = objFso.OpenTextFile("D:\SCRIPTS\Fichiers\fichier2.txt", 1)
resultat = "D:\SCRIPTS\Fichiers\md5_xls.xls"
'variables Dim xlapp ' As Excel.Application Dim classeur ' As Excel.Workbook Dim feuille1 ' As Excel.Worksheet Dim feuille2 ' As Excel.Worksheet
Set xlapp = CreateObject("Excel.Application") 'Compteur pour les lignes d'excel commencent à partir des lignes 2 cpt=2
'classeur non visible a l'ecran xlapp.Visible = False
'definition d'un classeur et deux feuilles Set classeur = xlapp.Workbooks.add Set feuille1 = classeur.WorkSheets(1) Set feuille2 = classeur.WorkSheets(2)
'personnalistion des deux feuilles feuille1.name = ("Fichiers non ok") feuille1.Range("A1") = "Md5 de download 3" feuille1.Range("B1") = "Md5 de download 4" feuille1.Range("C1") = "fichier non ok" feuille1.Range("D1") = "nom fichier download 3" feuille1.Range("E1") = "nom fichier download 4"
Feuille2.name = ("Fichiers ok") feuille2.Range("A1") = "Md5 de download 3" feuille2.Range("B1") = "Md5 de download 4" feuille2.Range("C1") = "fichier ok" feuille2.Range("D1") = "nom fichier download 3" feuille2.Range("E1") = "nom fichier download 4"
'boucle qui examine ligne par ligne, les deux fichiers Do Until txt3.AtEndOfStream and txt4.AtEndOfStream entier_3 = txt3.ReadLine() entier_4 = txt4.readline()
'nombre de caractere total pour le serveur3 et serveur4 total3 = len(entier_3) total4 = len(entier_4) If total3 >= 34 And total4 >= 34 Then
'Prendre les 34 caracteres en partant de gauche gauch3 = left(entier_3, 34) gauch4 = left(entier_4, 34)
'calcul du nombre de caractere pour la droite calcul3 = (total3 - 34) calcul4 = (total4 - 34)
'prendre les X caracteres de droite droit3 = right(entier_3, calcul3) droit4 = right(entier_4, calcul4) 'MsgBox "gauch3" &vbTab& gauch3 &vbCrLf& "gauch4" &vbTab& gauch4 &vbCrLf&vbCrLf&_ ' "calcul3" &vbTab& calcul3 &vbCrLf& "calcul4" &vbTab& calcul4 &vbCrLf&vbCrLf&_ ' "droit3" &vbTab& droit3 &vbCrLf& "droit4" &vbTab& droit4
'regarde si les 34 caracteres de gauche du serveur3 et serveur 4 sont egaux ou pas If gauch3 = gauch4 then feuille2.Range("A" & cpt) = ""&gauch3 feuille2.Range("B" & cpt) = ""&gauch4 'Mets la couleur bleue sur les lignes ok feuille2.Range("c" & cpt).Interior.ColorIndex = 5 feuille2.RAnge("C" & cpt) = "ok" feuille2.Range("D" & cpt) = ""&droit3 feuille2.Range("E" & cpt) = ""&droit4 'Mets automatiquement les colonnes à la bonne taille feuille2.Columns.AutoFit Else feuille1.Range("A" & cpt) = "" & gauch3 feuille1.Range("B" & cpt) = "" & gauch4 'Mets la couleur rouge sur les lignes non ok feuille1.Range("c" & cpt).Interior.ColorIndex = 3 feuille1.Range("C" & cpt) = "pas ok" feuille1.Range("D" & cpt) = ""&droit3 feuille1.Range("E" & cpt) = ""&droit4 feuille1.Columns.AutoFit end if
End If 'compteur de ligne cpt=cpt+1 loop
xlapp.Visible = True xlapp.DisplayAlerts = False Classeur.Saveas resultat classeur.Close True 'quitte en sauvant xlApp.quit
Set xlapp = Nothing Set Txt3 = Nothing Set Txt4 = Nothing Set classeur = Nothing Set feuille1 = Nothing Set feuille2 = Nothing Set objFso = Nothing
MsgBox "script terminé"
|
|
mercredi 29 août 2007 à 20:08:19 |
Re : Petit soucis avec un message "input past end of file"

JMO
|
 Re, J'avais écrit un petit script pour comparer deux fichiers .txt Cela peut servir de base pour droopyv . Option Explicit Dim Fso, Path, Fic1, Fic2 Dim i, r, imax Dim ObjTextStream, strtmp1, strtmp2 Const ForReading = 1, ForWriting = 2, ForAppending=8
Path = "d:\" Fic1 = "test.txt" Fic2 = "test1.txt" imax = 0
Set fso = CreateObject("Scripting.FileSystemObject") Set ObjTextStream = Fso.OpenTextFile(Path & Fic1, 1) Do While Not ObjTextStream.AtEndOfStream strtmp1 = split(ObjTextStream.ReadLine, vbLf) For i = 0 to Ubound(strtmp1) imax = imax + 1 ReDim Preserve Tableau1(1, imax) Tableau1(1, imax) = strtmp1(i) Next Loop ObjTextStream.Close
imax = 0 Set ObjTextStream = Fso.OpenTextFile(Path & Fic2, 1) Do While Not ObjTextStream.AtEndOfStream strtmp2 = split(ObjTextStream.ReadLine, vbLf) For i = 0 to Ubound(strtmp2) imax = imax + 1 ReDim Preserve Tableau2(1, imax) Tableau2(1, imax) = strtmp2(i) Next Loop ObjTextStream.Close
For r = 1 To imax If Tableau1(1, r) <> Tableau2(1, r) Then MsgBox "La ligne " & r & " est différente entre les 2 fichiers" &vbCrLf&vbCrLf&_ "1er tableau " & vbCrLf& Tableau1(1, r) &vbCrLf&vbCrLf&_ "2ème tableau " & vbCrLf& Tableau2(1, r) End If Next Set Fso = Nothing Set ObjTextStream = Nothingjean-marc
|
|
jeudi 30 août 2007 à 13:22:38 |
Re : Petit soucis avec un message "input past end of file"

droopyv
|
Merci a vous
Je prends et je teste pour voir l emieux pour moi , car j'atteins les 8000 lignes ( qui sont le resultat d'un calcul de crc de fichier video) donc je pense que ds quelques mois nous allons atteindre les 15000 voir plus, donc je fair attention aussi pour le temps.
Merci encore.
Bonne journée à vous
|
|
Cette discussion est classée dans : message, input, end, soucis, past
Répondre à ce message
Sujets en rapport avec ce message
Input Past End of File sous VB3...! [ par BERGOUGNOUX ]
Bonjour à tous,J'ai un ordinateur utilisant Windows XP et un autre (assez ancien ) utilisant Windows... 3.1.J'utilise donc Visual Basic 3
Input past end of file [ par bbc220229 ]
Bonjour à toutes et à tous, c'est la première fois que je poste et j'espère que quelqu'un ou quelqu'une saura éclairer ma terne lanterne !Mon pb est r
Explication de code source [ par fatim1 ]
Salut. J'ai trouvé ce bout de code quelque part dans ce site.Et je ne le comprend pas bien. Quelqu'un pour me l'expliquer s'il vous plaît. Private S
WRQ Reflection, Si message = celui d'affiché Go To [ par kouki69 ]
Salut [^^happy13] Mon petit soucis est le suivant : Je suis dans WRQ reflection. Je souhaiterais que quand s'affichera à l'écran (dans des coordonnées
winsock encore et tjrs... [ par elpitou86 ]
Elpitoubon alors voila mon problem. suis un newb en prog et je cherche a faire un chat multi user. mai voila le blem.Private Sub win
Problème Envoi mail sur Hotmail [ par beetsy ]
salut à tousj'utilise la calsse mail pour envoyer des mails depuis mon appli ASP.netles mails arrivent partout SAUF HOTMAIL et je n'ai pas d'erreurs..
petit soucis genant ... [ par gandalfgris ]
Bonjour,j' ai un ptit programme en VB qui accede a un fichier excelpendant le traitement du fichier excel, si je clique sur le programme, j'ai un mess
Help pleaaaaaaaaase [ par lapprentie ]
Re-,Suite à mon post: http://www.vbfrance.com/infomsg_MSGBOX-AVEC-HORLOGE-SECOURS_932276.aspx#7J'ai trouver qqch sur internet:<br
pb avec checkbox [ par domxaline ]
j'ai un pb avec ce prg,veuillez m'aidez s'il vous plaît Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As S
.Net Envoi message [ par zavier666 ]
bonjour, j'utilise la classe Mail pour expédier des messages. hors en faisant des tests, je me suis aperçu qu'il faut que j'arrête mon programme pour
Livres en rapport
|
Derniers Blogs
TECHDAYS PARIS 2010 : ADMINISTRATION SHAREPOINT 2010TECHDAYS PARIS 2010 : ADMINISTRATION SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Patrick Guimonet et Benoit Hamet Cette session traitera des différents points exigés durant les taches d'administration : Planification (architecture, hébergement, authentification, .) Opération e...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [TECHDAYS 2010] #03 - WEB CONTENT MANAGEMENT SOUS SHAREPOINT 2010[TECHDAYS 2010] #03 - WEB CONTENT MANAGEMENT SOUS SHAREPOINT 2010 par pierre
Stephane Cordonnier de MCNext nous présente les fonctionnalités Web Content Management (WCM) sous SharePoint 2010. Qu'est-ce que le WCM ECM, GED, RM, WCM c'est quoi Plateforme SharePoint Versions SharePoint 2010 SharePoint Fondation...
Cliquez pour lire la suite de l'article par pierre [DESIGN PATTERNS] PARTIE 2: DIP: DEPENDENCY INVERSION PRINCIPLE[DESIGN PATTERNS] PARTIE 2: DIP: DEPENDENCY INVERSION PRINCIPLE par tja
C'est le dernier principe des principes du Design Orienté Objet (The Principles of Object Oriented Design) fondés par Robert C. Martin plus connu sous le pseudonyme d'Uncle Bob.
l'image empruntée de LosTechies.
Je ne traite pas les principes dans...
Cliquez pour lire la suite de l'article par tja TECHDAYS PARIS 2010 : SHAREPOINT 2010 POUR LES DéVELOPPEURSTECHDAYS PARIS 2010 : SHAREPOINT 2010 POUR LES DéVELOPPEURS par ROMELARD Fabrice
Animé par: Laurent Cotton Le développement dans SharePoint 2010 passe par plusieurs axes qui seront évoqués dans cette session, mais plus particulièrement les développements simples lié au besoin Business Business Connectivity Services Ce BCS es...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLEINIèRE DERNIER JOURTECHDAYS PARIS 2010 : PLEINIèRE DERNIER JOUR par ROMELARD Fabrice
Cette session est la dernière pleinière de ces 3 jours de TechDays Paris 2010. Généralement, cette troisième journée est plus axée sur l'avenir vu par Microsoft. Après un retour sur l'avenir vu par la Science Fiction ou par ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
Comparez les prix

HTC Hero
Entre 550€ et 550€
|