Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Import fichier texte choix de la colonne

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

creal69360

XLDnaute Junior
Bonjour,

Je souhaiterais importer une seule colonne de mon fichier texte dans ma feuille Excel ( la délimitation étant effectuée avec des ";"). Voici mon code d'importation:

Code:
With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;" & cotations_import.zt_chemin, Destination:=Range("$d$2"))
        '.CommandType = 0
        '.Name = "Ing 2014"
        .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 = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = True
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1)
        .TextFileTrailingMinusNumbers = True
         .Refresh BackgroundQuery:=False
    End With
N'ayant pas trouvé de paramètre permettant de choisir la colonne à récupérer j'ai cherché sur internet une procédure permettant de mettre le fichier texte dans un tableau mais je n'arrive toujours pas à récupérer une seule colonne:
Code:
Sub ImportData()

    Filename = chemin
    Open Filename For Input As #1
    Do While (Not EOF(1))
        ' In this case the file is delimited by , and contains several lines
    ' Read the file one line at the time
    Input #1, Streng

    'Input streng into and array
    StrArray = Split(Streng, ",")
    Call WriteToExcel(StrArray)
    Loop
    Close #1
End Sub

Sub WriteToExcel(StrArray)
MsgBox CStr(StrArray(10))
     For J = LBound(StrArray) To UBound(StrArray)
       'Do what you want to do with the data
    Next J
End Sub

Merci d'avance!
 
Dernière édition:
Re : Import fichier texte choix de la colonne

Bonjour,

lors de l'importation, mets la valeur 9 dans les colonnes que tu ne veux pas :
Code:
.TextFileColumnDataTypes = Array(9, 1, 9, 9, 9,9, 9)

dans l'exemple ci-dessous ne sera affiché que la 2ème colonne...

bon après midi
@+
 
Re : Import fichier texte choix de la colonne

Bonjour ,

Oups : @ Bonjour Pierrot : Excellente solution

le 9 correspond en effet à la fonction et à la constante xlSkipColumn

Une premiere chose

la ligne : StrArray = Split(Streng, ",")

si tu as des ; devrait être : StrArray = Split(Streng, ";")
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 CSV en EXCEL
Réponses
1
Affichages
96
Réponses
15
Affichages
785
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…