Importation de fichier txt

Bonjour, je travail actuellement sur un simulateur d'affranchissement sur Excel 2007.

Je suis confronté a un probléme que je n'arrive pas à résoudre malgrés toute la documentation présente sur le forum.

J'aimerais importé des références à partir d'un fichier txt et les insérer dans des feuilles distinctes en fonction de la premiére lettre de la référence.

Exemple: Dans la feuille Annexe 3 toutes les références commençants par E, dans l'annexe 4 toutes celles commençant par P etc...

L'outil d'import d'excel ne permet pas ce genre de manipulation, je pense qu'il faut utiliser un peu de VBA malheuresement mes connaissances sont encore limités

Je met en piéce jointe ma feuille de calcul de base et mon txt contenant les référence.

41mediaparams.zip (4.51 Ko)

J'éspére avoir était assez clair et qu'une âme charitable pourra m'aider et par la même occasion améliorer mes connaissances en VBA.

Salut le forum

Même avec du VBA il va falloir ruser, ton fichier texte n'est pas en un format standard.

Mytå

Bonjour

Un essai (pas sur)

Une question aussi à ceux qui liront ce post

Comment n'avoir qu'une seule colonne importée ?

Merci

Re le forum

Sans vraiment connaitre le style d'extraction à faire :

Peut-être avec des délimiteurs fixes (12;13;12)

    With ActiveSheet.QueryTables.Add(Connection:="TEXT;D:\mediaparams.txt", _
        Destination:=Range("A1"))
        .Name = "mediaparams"
        .AdjustColumnWidth = True
        .TextFileStartRow = 1
        .TextFileParseType = xlFixedWidth
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileTabDelimiter = True
        .TextFileColumnDataTypes = Array(2, 2, 2)
        .TextFileFixedColumnWidths = Array(12, 13)
        .Refresh BackgroundQuery:=False
    End With

Mytå

Bonjour, merci à tous les deux pour votre aide. Cependant Bonzai64 se rapproche beaucoup plus du résultat escompté.

Pour revenir à la partie technique il manquerait plus qu'a séparer en deux colonnes la référence et le numéro .

Je vais voir si je peux y arriver auquel cas je mettrai la solution ici. Si vous avez des idées n'hésitez pas

Re le forum

Donnes-nous un exemple de l'extraction désirée...

Pour extraction dans une colonne unique

    With ActiveSheet.QueryTables.Add(Connection:="TEXT;D:\mediaparams.txt", _
        Destination:=Range("A1"))
        .AdjustColumnWidth = True
        .TextFileColumnDataTypes = Array(2, 1)
        .TextFileFixedColumnWidths = Array(50)
        .Refresh BackgroundQuery:=False
    End With

Mytå

P.S. Pas très pratique Google Chrome ne fonctionne plus sur le forum, je trouve cela décevant...

Bonjour,

Pas très pratique Google Chrome ne fonctionne plus sur le forum, je trouve cela décevant...

Est-ce que tu as actualisé les pages ? (à actualiser 2x de suite avec Chrome)

Cordialement,

Voila en piéce jointe le genre de tris qu'il me faudrait voir: "Annexe E".

Merci de votre aide. Cordialement.

Bonjour

Pas évident car tes données ne sont pas identiques dans leur forme

A vérifier

Je t'ai noté (par formule) le nombre de caractères de chaque case

Bonne journée

Ok, merci je vais voir ce que je peux faire avec sa. Un grand merci à tous super forum je le recommanderai chaudement

Re le forum

Mon code précédent en modifiant l'extraction donnait ton résultat

Remplacer Array(12, 13) par Array(12, 11)

With ActiveSheet.QueryTables.Add(Connection:="TEXT;D:\mediaparams.txt", _
        Destination:=Range("A1"))
        .Name = "mediaparams"
        .AdjustColumnWidth = True
        .TextFileStartRow = 1
        .TextFileParseType = xlFixedWidth
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileTabDelimiter = True
        .TextFileColumnDataTypes = Array(2, 2, 2)
        .TextFileFixedColumnWidths = Array(12, 11)
        .Refresh BackgroundQuery:=False
End With

Mytå

Rechercher des sujets similaires à "importation fichier txt"