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
 

Fichiers joints

sylvanu

XLDnaute Accro
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.
 

Fichiers joints

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 Junior
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"]
 

Fichiers joints

Dernière édition:

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas