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

XL 2010 Importer .txt sur feuille Excel

  • Initiateur de la discussion Initiateur de la discussion thunder23
  • Date de début Date de début

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 !

thunder23

XLDnaute Occasionnel
Bonjour le forum,

Je souhaite importer les données d'un fichier en format texte sur une feuille Excel mais par VBA et avec la même mise en forme que dans le fichier .txt .
Un exemple est disponible en pièce jointe

Merci pour commentaires 🙂
 

Pièces jointes

Re

•>thunder23
J'ai lu le message#51
1) je n'aime pas les questions à tiroir
2) Mon code fonctionne pour ce qui était demandé au départ
3) Et la réponse à la question du#51 est évidente
J'importe tout puis je créé une macro qui supprime les colonnes non désirées et ce après l'import 😉
 

Effectivement Staple1600 je ne remets pas en doute ton code et ma demande était résolu 😉
Oui sauf le seule façon qui est possible de faire est par .Delete et ça va me dérégler mes formules dans le gestionnaire de nom 😉
Là pour le coup avec la sélection des colonnes avant l'importation c'est patricktoulon qui serait plus intéressant 🙂
 
re
avec querytable et evaluate arraycolonnes et getopenfilename
VB:
Sub test3()
    fichier = Application.GetOpenFilename("Text Files (*.txt), *.txt", 1, "ouvrir un fichier")
    If fichier = "" Then Exit Sub
    x = InputBox("tapez les numero de colonnes séparée par une virgule", "liste des colonnes")
    If x <> "" Then colonnes = Split(x, ",")
    With ActiveSheet
        With .QueryTables.Add(Connection:="TEXT;" & fichier, Destination:=Range("$A$1"))
            .Name = "bdd"
            .FieldNames = True
            .PreserveFormatting = True
            .RefreshStyle = xlInsertDeleteCells
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .TextFilePlatform = 850
            .TextFileStartRow = 1
            .TextFileParseType = xlDelimited
            .TextFileTextQualifier = xlTextQualifierDoubleQuote
            .TextFileConsecutiveDelimiter = False
            .TextFileTabDelimiter = True
            .TextFileDecimalSeparator = "."
            .TextFileTrailingMinusNumbers = True
            .Refresh BackgroundQuery:=False
            .Delete
        End With

        tbl = Application.Index(.Cells(1).CurrentRegion.Value, Evaluate("ROW(" & 1 & ":" & .Cells(1).CurrentRegion.Rows.Count & ")"), colonnes)
        .Cells(1).CurrentRegion.ClearContents
        .Cells(1).Resize(UBound(tbl), UBound(tbl, 2)) = tbl
    End With
End Sub
 
Re

•>thunder23
Le Delete te gène ?
Pas de souci 😉
Alors, il suffisait d'être un peu curieux, non ?
Un indice: xlSkipColumn

Allez, c'est ... KADO
https://docs.microsoft.com/fr-fr/office/vba/api/excel.xlcolumndatatype
 
Re

•>thunder23
Le Delete te gène ?
Pas de souci 😉
Alors, il suffisait d'être un peu curieux, non ?
Un indice: xlSkipColumn

Allez, c'est ... KADO
https://docs.microsoft.com/fr-fr/office/vba/api/excel.xlcolumndatatype

Ce n'est pas qu'il me gène, c'est que là tu me parles de type de code que je ne connais pas du tout. Je ne suis dans le VBA depuis que l'année dernière et je n'ai pas tout explorer 😉
 
re je viens d'essayer le successif et effectivement il colle les données horizontaement c'est chiant
pourtant l'adresse de destination c'est toujours
VB:
 Set destinat = IIf(.[A1] <> "", .Range("$A$" & .Cells(Rows.Count, 1).End(xlUp).Row + 2), .[A1])
      With .QueryTables.Add(Connection:="TEXT;" & fichier, Destination:=destinat)
en fait ca me gonfle 😛 😛 ma solution fonctionne et est plus rapide
 

Oui je ne comprends pas du tout, par contre j'ai un espoir pour les dates. avant que tu modifies tout en QueryTables, j'ai échanger l'apostrophe sur les .Entirecolumn.NumberFormat et ça fonctionne nickel. On va y arriver ^^
 
- 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

Réponses
4
Affichages
159
Réponses
5
Affichages
325
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…