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 :

Problème de fonctionnement du code pour automatiser l'importation et traitement de fichiers texte


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2011
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2011
    Messages : 571
    Par défaut Problème de fonctionnement du code pour automatiser l'importation et traitement de fichiers texte
    Salut le forum

    DAns le lien ci-dessus, j'avais posé un problème de traitement automatisé de fichier texte.
    J'ai eu une réponse satisfaisante mais aujourd'hui le format des fichiers texte a changé (avant c'était en francais mais aujourd'hui les données sont en anglais.
    Je vous joins les deux modèles de fichiers texte pour appréciation.
    Ancien fichier texte qui fonctionne toujours bien http://www.cjoint.com/c/EFerk0SIyiN
    Nouveau fichier texte (après changement de logiciel de notre structure) http://www.cjoint.com/c/EFermVoAoNN
    Il y'a au moins 30 fichiers au format texte (version anglaise) dans mon dossier. Le code me permettait de faciliter le traitement mais aujourd'hui il ne fonctionne plus. Il n'arrive pas à importer les fichiers et les convertir comme souhaité. J'ai bau essayé par tous les moyens mais je trouve pas de solution.
    Je viens vers vous pour l'apprécier.

    http://www.developpez.net/forums/d14...pte-situation/

    NB: je salue encore au passage ceux qui avaient contribué à sa réalisation

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    je t'invite a utiliser l'enregistreure de macro pour ouvire ton fichier en précisant séparation par tabulation.

    Je suis sur mon téléphone je ne peux pas fair mieux!

  3. #3
    Membre éclairé
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2011
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2011
    Messages : 571
    Par défaut
    Bonsoir rdurupt

    J'ai essayé déjà par l'enregistreur mais le problème est qu'il ne permet pas de faire des boucles.
    Voici ce que j'avais déjà essayé avant le post:
    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
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    Sub traitement()
    '
    ' traitement Macro
    '
     
    '
        With ActiveSheet.QueryTables.Add(Connection:= _
            "TEXT;C:\Users\BF0171\Desktop\BILAN31052015\ebilncgag01004.rep", Destination _
            :=Range("$A$1"))
            .Name = "ebilncgag01004"
            .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 = xlFixedWidth
            .TextFileTextQualifier = xlTextQualifierDoubleQuote
            .TextFileConsecutiveDelimiter = False
            .TextFileTabDelimiter = True
            .TextFileSemicolonDelimiter = False
            .TextFileCommaDelimiter = False
            .TextFileSpaceDelimiter = False
            .TextFileColumnDataTypes = Array(1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1)
            .TextFileFixedColumnWidths = Array(6, 8, 6, 16, 20, 20, 20, 8, 9, 9)
            .TextFileTrailingMinusNumbers = True
            .Refresh BackgroundQuery:=False
        End With
        Range("A:B,E:F").Select
        Range("E1").Activate
        ActiveWindow.SmallScroll ToRight:=2
        Range("A:B,E:F,I:K").Select
        Range("I1").Activate
        Selection.Delete Shift:=xlToLeft
        Range("A16").Select
        ActiveWindow.SmallScroll Down:=-9
        Rows("1:3").Select
        Selection.ClearContents
        Columns("A:A").Select
        Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
        Rows("1:3").Select
        Selection.Delete Shift:=xlUp
        Range("A1").Select
        ActiveCell.FormulaR1C1 = "Agence"
        Range("B1").Select
        ActiveCell.FormulaR1C1 = "RC"
        Range("C1").Select
        ActiveCell.FormulaR1C1 = "INTITULE"
        Range("D1").Select
        ActiveCell.FormulaR1C1 = "MONTANT"
        Range("E1").Select
        ActiveCell.FormulaR1C1 = "NBRE"
        Range("A2").Select
        ActiveWindow.SmallScroll Down:=-9
    End Sub
    Avec ca lorsque je dois passer au fichier texte suivant je dois faire des modifications manuellement.
    Ce que je souhaite éviter.
    Je suis appeler à réaliser le traitement chaque semaine voila pourquoi je cherche quelque chose de solide.
    A bientôt

  4. #4
    Invité
    Invité(e)
    Par défaut
    Non tu ouvre le fichier comme si c'était un xls mais tu précise csv avec tabulation.

  5. #5
    Membre éclairé
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2011
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2011
    Messages : 571
    Par défaut
    J'essai de faire ce vous proposez mais j'y arrive. Pouvez-vous m'indiquer la procedure a suivre. J'utilise excel 2010

  6. #6
    Membre éclairé
    Avatar de tamtam64
    Homme Profil pro
    stagiaire developpement vba
    Inscrit en
    Mai 2012
    Messages
    456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : stagiaire developpement vba
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2012
    Messages : 456
    Billets dans le blog
    17
    Par défaut
    Salut tu peux nous dire si c'est des chiffres , quel genre de contenu?


    tu peux delimiter ce que tu veux en utilisant l'enregistreur de macro , dis nous ton probleme ton erreur et aussi ce que tu veux faire .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub ImportText(ByVal FileName As String, ByVal PosImport As Range)
        Dim QT As QueryTable
        Set QT = ActiveSheet.QueryTables.Add(Connection:="TEXT;" & FileName, Destination:=PosImport)
        With QT
            .TextFileSemicolonDelimiter = True
            .TextFileTextQualifier = xlTextQualifierDoubleQuote
            .TextFileCommaDelimiter = True
            .Refresh
        End With
    End Sub

Discussions similaires

  1. [XL-2007] Code pour automatiser une saisie avec sendkeys
    Par capi81 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/07/2012, 17h34
  2. [AC-2010] [débutant] Code pour automatiser l'import de fichiers csv
    Par Jul38 dans le forum VBA Access
    Réponses: 12
    Dernier message: 16/12/2011, 09h49
  3. Réponses: 7
    Dernier message: 07/03/2011, 16h37
  4. Problème de fonctionnement du code
    Par spamitovic dans le forum VB.NET
    Réponses: 3
    Dernier message: 06/12/2010, 18h12
  5. Problème de fonctionnement avec Code::Blocks
    Par turbo225 dans le forum Code::Blocks
    Réponses: 1
    Dernier message: 20/12/2008, 13h14

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