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

Macros et VBA Excel Discussion :

[VBA-E]Probleme quand Lecture Fichier Texte


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 95
    Points : 41
    Points
    41
    Par défaut [VBA-E]Probleme quand Lecture Fichier Texte
    MOn fichier Texte

    N°;N° Client;Motif;Thème;Action 1;Action 2;État;Statut;Demandeur;Date de création;Date d ’effet souhaitée;Date d ’effet réelle;Compétence destinataire;CDC destinataire;Média du contact;CDC créateur;CDC modificateur;Date de modification;N° Contrat;N° Mobile;N° Compte;N° Contact
    "1-BMFVO2";"3787368";"Gestion Forfaits / Services";"Fiche Incident Réseau";"SMS";"FIR > 48h";"A traiter";"Ouvert";"Payeur";"02/05/2006 11:10:19";;;"Réseau";;"Appel entrant";"VEPRIEUR";"VEPRIEUR";"02/05/2006 11:10:19";"10003566755";"664132795";"1.3633313";...............................
    et mon code VBA pour lire le fichier texte

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Workbooks.OpenText Filename:=cRepertoire + "Output.txt", Origin _
    :=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
    xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=True, _
    Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), _
    Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1), _
    Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1), Array(14, 1), Array(15 _
    , 1), Array(16, 1), Array(17, 1), Array(18, 1), Array(19, 1), Array(20, 1), Array(21, 1), _
    Array(22, 1))
    Voila ça fonctionne a partir du 12 du moi mais avant il me met en format américain les dates cad pour reprendre l'exemple il me mettra 05/02/2006 .

    Je crois que c'est un bug de windows XP , mais je ne suis pas certain.

    MErci . Antoine

  2. #2
    Membre expert
    Avatar de khany
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 073
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 073
    Points : 3 890
    Points
    3 890
    Par défaut
    Peux-tu aussi tagger tes questions stp comme demandé ici :

    http://www.developpez.net/forums/sho...d.php?t=112760

    Je l'ai fait cette fois-ci mais n'oublie plus !

    merci

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    932
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 932
    Points : 448
    Points
    448
    Par défaut
    Et tu voudrais les dates sous quel format?

    Vois comment les convertir (à l'aide de l'enregistreur de macro).

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 95
    Points : 41
    Points
    41
    Par défaut
    Merci j'ai enregistré une macro ça marche comme ça .Qu'en pensez vous?

    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
     
    Sub LectureFichier()
     
    '
        ActiveWorkbook.Worksheets.Add
        With ActiveSheet.QueryTables.Add(Connection:= _
            "TEXT;G:\USERS\Antoine\Ventil\output.txt", Destination:=Range("A1"))
            .Name = "output"
            .FieldNames = True
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .RefreshStyle = xlInsertDeleteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .TextFilePromptOnRefresh = False
            .TextFilePlatform = 1252
            .TextFileStartRow = 1
            .TextFileParseType = xlDelimited
            .TextFileTextQualifier = xlTextQualifierDoubleQuote
            .TextFileConsecutiveDelimiter = False
            .TextFileTabDelimiter = False
            .TextFileSemicolonDelimiter = True
            .TextFileCommaDelimiter = False
            .TextFileSpaceDelimiter = False
            .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, _
                                 1, 1, 1, 1, 1, 4, 1, 1, 1, 1)
            .TextFileTrailingMinusNumbers = True
            .Refresh BackgroundQuery:=False
        End With
    End Sub

  5. #5
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    dans ta fonction VBA as tu essayer de changer le format d'importation de tes données ... le champ FieldInfo..? ..tu retrouve pour chaque colonnes
    un tableau Array(13, 1) , avec comme premier élément (ici 13) le n° de la colonne de 1 à ..., et comme 2° éléments une des constantes
    xlColumnDataType ..
    • xlGeneralFormat Standard
    • xlTextFormat Texte
    • xlMDYFormat date MJA
    • xlDMYFormat date JMA
    • xlYMDFormat date AMJ
    • xlMYDFormat date MAJ
    • xlDYMFormat date JAM
    • xlYDMFormat date AJM
    • xlEMDFormat date EMD
    • xlSkipColumn non distribuée
    tu peu connaitre la valeur d'une de ces constante en l'affichant dans la fenêtre exécution par exemple ... :
    Citation Envoyé par "Ma fenêtre exécution (en bleu saisie ..)
    ?xlDMYFormat
    4

Discussions similaires

  1. Lecture fichier texte : Derniere ligne en double(probleme)
    Par Ephemarius dans le forum Débuter
    Réponses: 2
    Dernier message: 05/10/2014, 00h13
  2. Lecture fichier TEXTE en vba
    Par ALIGAYE dans le forum Général VBA
    Réponses: 2
    Dernier message: 30/05/2012, 22h43
  3. VBA - Excel / Lecture fichier texte
    Par House MD dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/12/2007, 13h27
  4. [VB6] Lecture fichier texte - Probleme virgule = saut de ligne
    Par Zaal dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 13/09/2006, 08h16
  5. [VB]Probleme lecture fichier text et affichage
    Par clochardevobsy dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 10/03/2006, 08h46

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