XL 2010 automatiser la recuperation d un fichier texte et sa convertion

almas

XLDnaute Occasionnel
Bonjour le forum et tous mes Vœux

voila j aimerais construire un classeur Excel avec une macro qui me permet d 'aller importer un fichier texte et execute les options de concertions proposer par excel au moment de l'ouverture( séparateur virgules .....)
en plus je rajouterais quelques ligne pour l'organisation de donnée

Mais je sais pas si c 'est possible de le faire en VBA....:p

je joint un exemple de fichiers texte

Merci par avance
 

Pièces jointes

  • TNIC..txt
    2 KB · Affichages: 15

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour,
Une autre solution : transformer le fichier en csv.
Mettre dans le fichier txt une première ligne avec le nom des champs :a;b;c;d;e;f;g;h;i
Le séparateur est le point virgule. J'ai mis comme entete abc...hi, on peut mettre plus "parlant"
On enregistre et on l'ouvre sous XL. On met champ délimité puis ; comme séparateur. XL fait le reste.
 

Pièces jointes

  • TNIC.xlsx
    10.8 KB · Affichages: 4

almas

XLDnaute Occasionnel
Merci a tous les 2

@Syvanu : j ai de la mise en forme à rajouter pour correspondre à un fichier d import.Donc modifier le fichier source n 'es pas pratique pour moi

@françois: ta solution est bien mais j avais plutot dans l idée que ma macro importe directement les données converties dans mon classeur d import et non pas modifier le fichier source
mes connaissances VBA étant très limité j 'ai du mail a voir la différence entre le code de la feuil1 et celui du thisWorkBook

je vais continuer à creuser la question
encore merci
 

dysorthographie

XLDnaute Accro
Bonjour,
je vous propose un import avec ADO!

VB:
Sub test()
With CreateObject("AdoDb.Connection")
    .Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.Path & ";Extended Properties=""Text;HDR=YES;FMT=Delimited;"""
    Set Rs = .Execute("Select * from [TNIC#txt]")
    For i = 0 To Rs.Fields.Count - 1
        Range("A1").Offset(, i) = Rs(i).Name
    Next
    Range("A2").CopyFromRecordset Rs
    .Close
End With
'
End Sub
shema.ini:
j'ai mis n’importe quoi en entête de colonnes!
Code:
[TNIC.txt]
ColNameHeader=True
Format=Delimited(;)
Col1=Client Text Width 10
Col2=ID Integer
Col3=Quoi Text Width 10
Col4=Prix double
Col5=bof integer
Col6=VraiFaux Bit
Col7=Type  Text Width 10
Col8=MyDate DateTime
Col9=Code  Text Width 10
DecimalSymbol=.
[DateTimeFormat="mm/dd/yyyy hh:MM:ss"]
 

Pièces jointes

  • TNIC.zip
    29.3 KB · Affichages: 15
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
311 737
Messages
2 082 030
Membres
101 876
dernier inscrit
JULIEN21370