Ouvrir un doc txt en tant que feuille excel dans le workbook existant

berguie Messages postés 6 Date d'inscription mardi 18 mai 2004 Statut Membre Dernière intervention 16 juin 2004 - 15 juin 2004 à 20:48
berguie Messages postés 6 Date d'inscription mardi 18 mai 2004 Statut Membre Dernière intervention 16 juin 2004 - 16 juin 2004 à 13:33
Bonsoir.

Je sais comment faire pour ouvrir un doc txt en tant que nouveau document excel:

Workbooks.OpenText Filename:= _
"C:\Documents and Settings\...\Output1.txt", ...

...mais je n'arrive pas à le faire en tant que nouvelle feuille excel dans le document excel que je suis déjà en train d'utiliser.
J'ai pourtant tout essayé (remplacer workbook par worksheets, activesheet; etc... mais rien!)

Quelqu'un aurait il une idée?

Merci

6 réponses

HFanny Messages postés 699 Date d'inscription mercredi 19 février 2003 Statut Membre Dernière intervention 13 mai 2011 20
16 juin 2004 à 08:44
Bonjour,

Dans la mesure où
Workbooks.OpenText ... ouvre un fichier texte dans un nouveau classeur, tu peux éxécuter cette ligne de code, puis insérer la feuille obtenue dans le classeur que tu utilises, et enfin, fermer le classeur inutile.

Ca te va comme solution ?

Fanny
0
berguie Messages postés 6 Date d'inscription mardi 18 mai 2004 Statut Membre Dernière intervention 16 juin 2004
16 juin 2004 à 09:55
Bonjour Fanny

En fait, je sais que je peux faire ça, mais ça m'embête un peu vu que ca ouvre une autre application excel avec le nouveau classeur, si ça ouvrait le nouveau classeur dans la même application que j'utilise, ça ne m'embêterai pas. Mais je vais essayer de tripatouiller pour voir en effet s'il n'existerait pas une commande spéciale pour travailler dans la même application(je n'y avait pas pensé hier)

J'ai une autre solution, c'est ouvrir le fichier texte et copier son conrenu dans la feuille excel, mais le contenu n'est copié que dans une seule case, au lieu d'avoir une colonne de cases (le fichier texte d'ou j'importe mes données est un fichier txt issu d'une feuille d'excel avec les donnée ligne par ligne).
Le code que j'ai est;

Dim FIO As Integer
Dim Data As String

Filename = "C:\Documents and Settings\...\Output1.txt"
FIO = FreeFile
Open Filename For Input As FIO
Do Until EOF(Filename)
Data = Input$(LOF(FIO), 1)
Loop
Close FIO

Sheets("Feuil1").Select
Range("A1").Select
ActiveCells.FormulaR1C1 = Data

Peut être faut il lire le fichier txt line par ligne et insérer dans la feuille excel line par ligne, mais j'ai beau chercher, je ne sais pas faire..

Merci beaucoup pour ton aide
0
HFanny Messages postés 699 Date d'inscription mercredi 19 février 2003 Statut Membre Dernière intervention 13 mai 2011 20
16 juin 2004 à 10:22
Pour écrire chaque ligne du fichier dans chaque ligne d'une feuille, tu peux essayer ça :

Dim FIO As Integer
Dim Data As String
Dim cellule As Range
Dim ligne As String

Set cellule = Range("A1")

Filename = "C:\Documents and Settings\...\Output1.txt"
FIO = FreeFile
Open Filename For Input As FIO

Do While Not EOF(FIO)
    Input #FIO, ligne
    cellule.Value = ligne
    Set cellule = cellule.Offset(1, 0)
Loop
Close FIO



Je viens de le tester, normalement ça devrait marcher :)
Ca te met ligne par ligne, mais tu n'as pas de séparation par rapport aux colonnes ...

Fanny
0
berguie Messages postés 6 Date d'inscription mardi 18 mai 2004 Statut Membre Dernière intervention 16 juin 2004
16 juin 2004 à 10:42
Ahhhhhhhhhhhhh

Merci ENORMEMENT Fanny!!!
Ta correction marche impecc!

En fait, pour l'autre façon j'ai trouvé, il suffisait de rajouter Application pour ouvrir un nouvo classeur dans la mme appl

[Code]
Filename:=...

Mais bon, ta solution est plus rapide et plus nette.

Merci merci merci!!! ^^ (Ca faisait 3 jours que j'étais dessus, ouf!)
:kisses)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
HFanny Messages postés 699 Date d'inscription mercredi 19 février 2003 Statut Membre Dernière intervention 13 mai 2011 20
16 juin 2004 à 10:47
De rien :)
Tant mieux si ça fonctionne.

Si ton fichier text provient d'une feuille Excel, et s'il y a des délimiteurs pour les colonnes, je pense même qu'il t'es possible de mettre par ligne et par colonne.

Fanny
0
berguie Messages postés 6 Date d'inscription mardi 18 mai 2004 Statut Membre Dernière intervention 16 juin 2004
16 juin 2004 à 13:33
J'ai fait en sorte qu'il n'y ait qu'une seule colonne. Ca régle mes problémes de délimiteurs de colonne. Mais j'y penserai la prochaine fois :)

Merci encore mille fois :) :) :)
0