Import de fichier texte vers Excel [Résolu]

Messages postés
81
Date d'inscription
mercredi 6 octobre 2004
Dernière intervention
26 septembre 2006
- - Dernière réponse : Tuning Max
Messages postés
316
Date d'inscription
mercredi 15 juin 2005
Dernière intervention
31 août 2006
- 28 déc. 2005 à 09:06
Bonjour,

Une application en C++ me génère un fichier texte avec séparateur (actuellement ';' mais ça peut être changé).

Je souhaite qu'une macro d'un classeur Excel vienne récupérer ce
fichier, et faire des mises en forme (couleur, gras, italique...)

Mon problème est l'import des données : copier l'ensemble des données dans la feuille Excel déjà existante.



Merci pour votre aide et bonne fêtes de fin d'année.



P.S : Si ma question n'est pas clair, n'hésitez pas à me demander des détails

Nico
Strasbourg
France
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
316
Date d'inscription
mercredi 15 juin 2005
Dernière intervention
31 août 2006
3
Merci
Voilà une petite macro qui devrait t'aider!

Sub MacroImport()
Dim wbk As Workbook, wbkTxt As Workbook, strchem


Set wbk = ActiveWorkbook
strchem = "Chemin et nom du fichier texte à importer"
Workbooks.OpenText Filename:= _
strchem, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=True, _
Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), _
Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1), _
Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1)), TrailingMinusNumbers:=True
ActiveSheet.Select
ActiveSheet.Move Before:=wbk.Sheets(1)

End Sub

Merci Tuning Max 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Messages postés
1788
Date d'inscription
mardi 7 novembre 2000
Dernière intervention
11 mars 2006
0
Merci
Bonjour,

Ce code importe dans excel, le fichier texte, MonFichier.txt.



Sub ImporterFichier()

Dim r, Data

Range("A1").Select

Open "C:\Mes documents\MonFichier.txt" For Input As #1

r = 0

Do Until EOF(1)

Line Input #1, Data

ActiveCell.Offset(r, 0) = Data

r = r + 1

Loop

Close #1

End Sub



jpleroisse



Si une réponse vous convient, cliquez Réponse Acceptée.
Messages postés
81
Date d'inscription
mercredi 6 octobre 2004
Dernière intervention
26 septembre 2006
0
Merci
Merci pour vos 2 réponses.

Je préfère la 2ème, car mes données sont importantes (env 50 000 enregistrements)

Juste une remarque :


Excel 97 n'accepte pas



TrailingMinusNumbers:=True
voir l'aide de la fonction OpenText




Nico
Strasbourg
France
Messages postés
316
Date d'inscription
mercredi 15 juin 2005
Dernière intervention
31 août 2006
0
Merci
tout à fais, et comme tu ne l'avais pas précisé, j'ai supposé que tu utilisé un microsoft office récent. Pour ma part cette macro à été écrite sous excel 2003

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.