Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1174 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  fusion de fichier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

fusion de fichier

n°1524769
zouba1
Posté le 06-03-2007 à 19:07:50  profilanswer
 

slt  
je veux faire la fusion de deux fichiers textes qui contiennent les noms des étudiant triés par nom et les mettre dans un autre fichier trié aussi  
j'ai fait ceci mais je ne sais pa pkoi ca ne marche pa ,please help c'est urgent
 
Private Sub cmdFusionner_Click()
 
Open "C:\Fich1.txt" For Input As #1
Open "C:\Fich2.txt" For Input As #2
Do While Not EOF(1) And Not EOF(2)
 
If StrComp(L, S, vbTextCompare) <= 0 Then
Print #3, L
'Line Input #1, L
ElseIf StrComp(L, S, vbTextCompare) > 0 Then
Print #3, S
'Line Input #2, S
End If
Loop
close...

mood
Publicité
Posté le 06-03-2007 à 19:07:50  profilanswer
 

n°1524787
ingenieurc​esi
Posté le 06-03-2007 à 19:37:03  profilanswer
 

au debut du code L et S ils doivent être vides ?! ( c'est bien une question et non un conseil )

n°1524813
zouba1
Posté le 06-03-2007 à 20:26:51  profilanswer
 

lors de leur déclaration elle sont vides elle seront remplis au fur et  a mesur lors de la lecture des fichiers

n°1524851
seniorpapo​u
Posté le 06-03-2007 à 21:51:43  profilanswer
 

Bonsoir,
Ta sortie sur les EOF n'est pas idéale, le fichier le plus long ne voit jamais ses dernières données transmises.
 
Voici  une voie à explorer:
 
 
Fins=false
finL=false
Line Input #1, L  
si eof(1)  finL =true
Line Input #2, S  
si eof(2) finS =true
 
 
tant que non (finL ET finS)
  si finL
     Print #3, S  
     Line Input #2, S  
      si eof(2) finS =true
  sinon si finS
     Print #3, L  
     Line Input #1, L  
     si eof(1)  finL =true
  sinon
     si L>=S..............utiliser tes srtcomp....
     Print #3, S  
     Line Input #2, S  
        si eof(2) finS =true
     sinon  
     Print #3, L  
     Line Input #1, L  
        si eof(1)  finL =true
fin tant que
 
 
Cordialement


Message édité par seniorpapou le 07-03-2007 à 07:57:13
n°1525435
ingenieurc​esi
Posté le 07-03-2007 à 17:26:28  profilanswer
 

salu
 
j'ai trouvé une solution qui ouvrir tes fichiers .txt en .xls
à la fin tu obtiens le fichiers etudiant classé.txt
 
si tu veux tester mon code il te faut
'au début tu es dans zouba.xls
'il te faut temp.xls et f1.txt et f2.txt sur C:\
'f1 et f2 representant tes fichiers d'éleves à triers
 
Sub Macro1()
Workbooks.Open Filename:="C:\temp.xls"
Workbooks("temp.xls" ).Activate
    Workbooks.OpenText Filename:= _
        "C:\f1.txt", Origin:= _
        xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
        xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _
        Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(1, 1), _
        TrailingMinusNumbers:=True
    ActiveWorkbook.SaveAs Filename:= _
        "C:\f1.xls", FileFormat:= _
        xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
        , CreateBackup:=False
nbl1 = Range("a6555" ).End(xlUp).Row
Range(Cells(1, 1), Cells(nbl1, 1)).Select
Selection.Copy
Windows("temp.xls" ).Activate
Range("A1" ).Select
ActiveSheet.Paste
nbl2 = Range("a6555" ).End(xlUp).Row + 1
    Workbooks.OpenText Filename:= _
        "C:\f2.txt", Origin:= _
        xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
        xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _
        Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(1, 1), _
        TrailingMinusNumbers:=True
    ActiveWorkbook.SaveAs Filename:= _
        "C:\f2.xls", FileFormat:= _
        xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
        , CreateBackup:=False
nbl3 = Range("a6555" ).End(xlUp).Row
Range(Cells(1, 1), Cells(nbl3, 1)).Select
Selection.Copy
Windows("temp.xls" ).Activate
Cells(nbl2, 1).Select
ActiveSheet.Paste
nbl4 = Range("a6555" ).End(xlUp).Row
Workbooks("f1.xls" ).Close savechanges:=False
Workbooks("f2.xls" ).Close savechanges:=False
Range("A1" ).Select
Range(Cells(1, 1), Cells(nbl4, 1)).Sort Key1:=Range("A1" ), Order1:=xlAscending, Header:= _
        xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
DisplayAlerts = False
    ActiveWorkbook.SaveAs Filename:= _
        "C:\etudiantclassé.txt", FileFormat:=xlText _
        , CreateBackup:=False
Workbooks("etudiantclassé.txt" ).Close savechanges = True
DisplayAlerts = True
End Sub
 
sinon tu en ais où ? vu que tu as d'autres topics
a+
 

n°1526819
zouba1
Posté le 10-03-2007 à 16:20:28  profilanswer
 

merci a tout le monde c résolu

n°1527048
ingenieurc​esi
Posté le 11-03-2007 à 14:16:41  profilanswer
 

e tu as fait comment ?


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  fusion de fichier

 

Sujets relatifs
creation de fichier texte en c++Fichier XML et typage de données
[PHP] problème lecture / écriture dans un fichierouvrir un fichier sur un lecteur réseau en php
[PHP] Supprimer les 5 denrières lignes d'un fichierAttendre la fin du chargement d'un fichier XML
Ajax Probleme Open fichier XML IE7filtre sur fichier de fusion csv
Générer un fichier Excel grace au Cold Fusion ?Fusion de fichier xml
Plus de sujets relatifs à : fusion de fichier


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR