voilà j'ai un fichier txt(ou d'une extension farfelue mais respectant une structure régulière) une macro Excel permet de faire une mise en forme de ce fichier. Je souhaite faire la même chose mais au travers de VB6.

VB6 indique à la macro ou se trouve le fichier a traiter. excel effectue bien la macro sur le fichier. jusqu'a là tout va bien.

Mais lorsque je veux effectuer sous VB6 l'enregistrer du resultat sous un fichier excel alors là ce ne fait pas du tout ce que je veux.

ce que je veux : -enregistrer le resultat de la macro dans un classeur excel
-si le classeur resultant existe deja l'écraser par le nouveau
-fermer le fichier Txt sans le modifier
-fermer excel

ce que ca me fait actuelemnt : -créer bien le fichier xls mais ne met rien dedans
-me sort la fenetre de la confirmation d'écrasement
-me sort la fenetre a propos de l'enregistrement des modifications du fichier txt

voici le code dans vb 6
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
        Dim app As New Excel.Application
        app.Visible = True
        Dim wb As Workbook
       Set wb = app.Workbooks.Open(ComDiaMacro.FileName)
        app.Run cmbMacro.Text, ComDiaSource.FileName
        wb.SaveCopyAs tbDesti.Text
        wb.Close
        app.Quit
voicile code de la macro
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
    Workbooks.OpenText FileName:=chemin, Origin:=xlWindows, _
        StartRow:=1, DataType:=Excel.XlTextParsingType.xlDelimited, TextQualifier:=xlDoubleQuote, _
        ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False, Comma:=False _
        , Space:=False, Other:=True, OtherChar:="$", FieldInfo:=Array(Array(1, 1 _
        ), Array(2, 1), Array(3, 1), Array(4, 2), Array(5, 1), Array(6, 1), Array(7, 2), Array(8, 2), _
        Array(9, 2), Array(10, 2), Array(11, 1), Array(12, 1), Array(13, 1), Array(14, 1), Array(15 _
        , 1), Array(16, 1), Array(17, 1), Array(18, 1))
    Selection.AutoFilter
    Selection.AutoFilter Field:=1, Criteria1:="1"
    Range("A1:Q854").Select
    Selection.Copy
    Sheets("ep53").Select
    Sheets.Add
    Range("A1").Select
....
merci d'avance.