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 :

Import et tri fichier texte


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Inscrit en
    Septembre 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 10
    Points : 7
    Points
    7
    Par défaut Import et tri fichier texte
    bonjour,
    j'ai un fichier texte avec 4 colonnes séparées par des tabulations
    j'aurai besoin d'importer en VBA la totalité de ce fichier, faire un tri croissant sur les colonnes 1, 3 et 2 et réécrire le fichier en format .txt avec tabulations
    pourriez-vous m'aider parce que je m'y perds un peu
    je ne peux que le faire en VBA puisque cette procédure rentrera dans une application multi-utilisateurs
    merci d'avance pour votre aide

    exemple du fichier (enfiron 16.000 lignes)

    14042 01010 1101 4979,12
    14045 01010 1101 1749,94
    14046 01010 1101 998,24
    14048 01010 1101 1712,79
    14049 01010 1101 4256,48
    14050 01010 1101 3659,82
    14051 01010 1101 485,84
    14052 01010 1101 3885,87
    14053 01010 1101 3247,73
    14054 01010 1101 4060,43
    17028 01010 1101 57,00

  2. #2
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut, utilise l'enregistreur de macros, cela dégrossira pour le code même si ce dernier sera à optimiser à la main.

  3. #3
    Futur Membre du Club
    Inscrit en
    Septembre 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 10
    Points : 7
    Points
    7
    Par défaut déjà essayé
    tu as raison, j'ai déjà essayé mais l'enregistreur rentre "en dur" les adresses des cellules. hors mon fichier n'aura jamais le même nombre de lignes

  4. #4
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Bonsoir,

    Une piste :
    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
     
    Sub FichierTexte()
     
        Dim Fe As Worksheet
        Dim Fichier As String
     
        Fichier = "D:\Test.txt"
     
        Set Fe = Worksheets(1)
     
        With Fe.QueryTables.Add("TEXT;" & Fichier, [A1])
     
            .Refresh 'exécute la requête
            .Delete 'supprime la connexion au fichier texte
     
        End With
     
        'le tri ascendant est fait sur A puis C et enfin B
        With Fe.Sort.SortFields
     
            .Clear
            .Add Range("A:A"), , 1
            .Add Range("C:C"), , 1
            .Add Range("B:B"), , 1
     
        End With
     
        With Fe.Sort
     
            .Header = xlNo
            .SetRange Fe.UsedRange
            .Apply
     
        End With
     
        'le fichier est ensuite enregistrer sur le disque
        'en écrasant l'existant
        With Application
     
            .DisplayAlerts = False
            ThisWorkbook.SaveAs Fichier, xlText
            .DisplayAlerts = True
     
        End With
     
    End Sub
    Hervé.

  5. #5
    Futur Membre du Club
    Inscrit en
    Septembre 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 10
    Points : 7
    Points
    7
    Par défaut Merci
    pourquoi ça semble toujours aussi simple quand on a la réponse ?
    j'ai juste modifié le format des colonnes (pour éviter que 0112 se transforme en 112 par exemple), mais ça fonctionne parfaitement
    je crois que ça va beaucoup m'aider à avancer
    merci beaucoup pour ton aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. import d'un fichier texte
    Par sessime dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 27/03/2007, 09h42
  2. Import d'un fichier texte dans UN champ d'une table
    Par Gunther dans le forum Access
    Réponses: 4
    Dernier message: 06/12/2006, 20h04
  3. [Débutant] Lot DTS et importation d'un fichier texte
    Par Sebcaen dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 19/10/2006, 11h53
  4. Restructurer l'import d'un fichier texte
    Par Deejoh dans le forum Access
    Réponses: 3
    Dernier message: 20/04/2006, 22h20
  5. importation d'un fichier texte vers excel
    Par darkpocket dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/01/2005, 11h47

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