J'ai un pgm qui permet d'ouvrir des fichiers texte sous Excel, à raison d'un fichier par onglet. Le fichier est ouvert avec l'option delimiter tab. Puis, les colonnes A à L sont supprimées. Ensuite, le pgm applique un nouveau formatage à la colonne A, c'est-à-dire delimiter other ;. C'est l'option qu'on retrouve dans le menu Data/Text to columns (version anglais).

Le pgm fait bien le formatage pour le premier fichier mais les suivants sont mauvais. C'est comme si il avait gardé l'option delimiter other ; pour l'ouverture des fichiers suivants. D'ailleurs ce pb apparaît lorsque l'on fait manuellement.

Qqn a-t-il une idée?

Voici le bout de pgm qui permet d'ouvrir le fichier et et de formater la colonne A, sachant que c'est mis dans un boucle qui parcourt le contenu du répertoire où se trouvent les fichiers :

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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
 
With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;" & rep & fic, Destination:=Range("A1"))
        .name = proc
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 850
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
    Columns("A:L").Select
    Selection.Delete Shift:=xlToLeft
    Columns("A:A").Select
    Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
        Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar:=";", _
        FieldInfo:=Array(1, 1), TrailingMinusNumbers:=True
    Selection.ColumnWidth = 18.71
    Columns("A:A").Select
    Selection.NumberFormat = "0000000000"