IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Problème méthode OpenText : Excel ne respecte pas le format des cellules


Sujet :

VBScript

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Problème méthode OpenText : Excel ne respecte pas le format des cellules
    Bonjour,

    Avec le code vbs ci-dessous, je souhaite que toutes les cellules de ma feuille excel soit au format texte.
    Mais lors de la lecture du fichier toto.txt avec la méthode OpenText, Excel ne tient pas compte des indications que je lui donne.
    J'utilise Excel 2003.

    Est-ce que quelqu'un peut m'aider ?
    test.vbs
    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
    Dim strFileName, objExcel, fileNameXls, strDataTypes
    Const xlTextFormat = 2
    strFileName="C:\dev\toto.txt"
    fileNameXls = "C:\dev\toto2.xls"
    strDataTypes = Array(Array(1, xlTextFormat),Array(2, xlTextFormat), Array(3, _
    xlTextFormat), Array(4, xlTextFormat), Array(5, xlTextFormat), Array(6, _
    xlTextFormat), Array(7, xlTextFormat), Array(8, xlTextFormat), Array(9, _
    xlTextFormat), Array(10, xlTextFormat))
    Set objExcel = CreateObject("Excel.Application")
    objExcel.Application.DisplayAlerts = False
    objExcel.Workbooks.OpenText strFileName, , , 1, -4142, , , , , , True, "|", strDataTypes
    objExcel.ActiveWorkbook.SaveAs fileNameXls
    objExcel.ActiveWorkbook.Saved = True
    objExcel.ActiveWorkbook.Close
    objExcel.Application.Quit
    Set objExcel = Nothing
    toto.txt
    2007-1-3|01-01-2007|2725|Rob, E.(Eveline)|10-12-1969|37|1|24-11-2004|05-01-2007|Overige reden
    2007-18-3|01-01-2007|3178|Kroonenberg, J.(Johannes)|09-10-1970|36|2|24-11-2004|05-01-2007|Overige reden
    2007-21-3|01-01-2007|3182|Kuipers, J.J.A.(John)|27-09-1985|21|3|24-11-2004|05-01-2007|Verhuizing naar anderegemeente / wgr
    2007-1-63|01-01-2007|2755|Doorgeest, M.(Marianne)|12-04-1948|59|4|30-06-2004|11-01-2007|Overige reden
    2007-1-13|01-01-2007|3072|Brandes, A.F.K.(Lex)|07-02-1961|46|5|23-08-2004|11-01-2007|Overige reden

  2. #2
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 2
    Points : 1
    Points
    1
    Par défaut 2 solutions (au moins)
    Voici 2 solutions au problème :

    La plus jolie :
    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    Dim strPath, strTxtFilName, strWBFilName
    Dim oExcel, oWB, oWKS
     
    strPath = "C:\dev\"
    strTxtFilName = "toro.txt"
    strWBFilName = "toro.xls"
     
    Set oExcel = CreateObject("Excel.Application")
    Set oWB = oExcel.Workbooks.Add(-4167)
    Set oWKS = oWB.Worksheets.Add(, , , -4167)
     
    With oWKS.QueryTables
             With .Add("TEXT;" & strPath & strTxtFilName, oWKS.Range("A1"))
                .Name = "toto"
                .FieldNames = True
                .RowNumbers = False
                .FillAdjacentFormulas = False
                .PreserveFormatting = True
                .RefreshOnFileOpen = False
                .RefreshStyle = 1
                .SavePassword = False
                .SaveData = True
                .AdjustColumnWidth = True
                .RefreshPeriod = 0
                .TextFilePromptOnRefresh = False
                .TextFilePlatform = 2
                .TextFileStartRow = 1
                .TextFileParseType = 1
                .TextFileTextQualifier = -4142
                .TextFileConsecutiveDelimiter = False
                .TextFileTabDelimiter = False
                .TextFileSemicolonDelimiter = False
                .TextFileCommaDelimiter = False
                .TextFileSpaceDelimiter = False
                .TextFileOtherDelimiter = "|"
                .TextFileColumnDataTypes = Array(2, 2, 2, 2, 2, 2, 2, 2, 2, 2, _
                                     2, 2, 2, 2, 2, 2, 2, 2, 2, 2)
                .Refresh False
                'DoEvents
                .Delete
            End With
    End With
     
    With oWB
            .SaveAs strPath & strWBFilName
            .Close False
    End With
     
    oExcel.Quit
    l'autre :
    Utiliser la méthode OpenText dans une macro et appeler la macro depuis le script vbs.

Discussions similaires

  1. Réponses: 3
    Dernier message: 03/11/2016, 12h28
  2. [Admin] Planif CSV ne respecte pas le format
    Par blazz dans le forum Administration-Migration
    Réponses: 1
    Dernier message: 24/12/2012, 10h52
  3. [Form] GoToRecord ne respecte pas l'ordre des dates
    Par Zawawi dans le forum VBA Access
    Réponses: 3
    Dernier message: 15/11/2007, 08h22
  4. Formater des cellules excel en format nombre
    Par _developpeur_ dans le forum Access
    Réponses: 7
    Dernier message: 09/01/2006, 14h13
  5. Format des cellules en Ole Excel
    Par kurul1 dans le forum C++Builder
    Réponses: 9
    Dernier message: 05/04/2005, 16h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo