Import de fichier texte vers Excel [Résolu]

nico_fip1 81 Messages postés mercredi 6 octobre 2004Date d'inscription 26 septembre 2006 Dernière intervention - 23 déc. 2005 à 08:09 - Dernière réponse : Tuning Max 316 Messages postés mercredi 15 juin 2005Date d'inscription 31 août 2006 Dernière intervention
- 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
Tuning Max 316 Messages postés mercredi 15 juin 2005Date d'inscription 31 août 2006 Dernière intervention - 23 déc. 2005 à 12:02
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

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 96 internautes ce mois-ci

jpleroisse 1788 Messages postés mardi 7 novembre 2000Date d'inscription 11 mars 2006 Dernière intervention - 23 déc. 2005 à 11:02
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.
nico_fip1 81 Messages postés mercredi 6 octobre 2004Date d'inscription 26 septembre 2006 Dernière intervention - 23 déc. 2005 à 18:39
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
Tuning Max 316 Messages postés mercredi 15 juin 2005Date d'inscription 31 août 2006 Dernière intervention - 28 déc. 2005 à 09:06
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.