fusion de fichier

fusion de fichier - VB/VBA/VBS - Programmation

Marsh Posté le 06-03-2007 à 19:07:50    

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...

Reply

Marsh Posté le 06-03-2007 à 19:07:50   

Reply

Marsh Posté le 06-03-2007 à 19:37:03    

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

Reply

Marsh Posté le 06-03-2007 à 20:26:51    

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

Reply

Marsh Posté le 06-03-2007 à 21:51:43    

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
Reply

Marsh Posté le 07-03-2007 à 17:26:28    

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+
 

Reply

Marsh Posté le 10-03-2007 à 16:20:28    

merci a tout le monde c résolu

Reply

Marsh Posté le 11-03-2007 à 14:16:41    

e tu as fait comment ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed