Copier-Coller un fichier txt en cellule A2

Scoobidoo

XLDnaute Occasionnel
Bonjour à tous, le Forum,

Mon besoin me parait simple et pourtant je n'arrive pas à le combler. Alors je me retourne vers vous tous pour que vous puissiez m'éclairer afin de réussir. Je m'explique : voici les étapes que je fais quand je le fais "manuellement", j'ouvre un classeur excel, j'ouvre un fichier TXT (potentiellement grand > 350000 lignes !), je fais "sélectionner tout", puis "copier", je reviens dans mon classeur, je me positionne en cellule A2 et pour finir clic droit pour "coller".
Et bien je n'arrive pas à écrire la macro pour arriver au même résultat. J'arrive à ouvrir le fichier txt mais ensuite les différentes solutions que j'ai essayé ne donne pas le résultat escompté. J'ai éssayé avec l'éditeur mais sans résultat probant.
Voilà les dernières lignes de code testées
Code:
CheminFichier = Cells(MaLigneExcel, 2).Value
        Open CheminFichier For Input As #intFic
        While Not EOF(intFic)

            Line Input #intFic, strLigne
            If Trim(strLigne) = "" Then
                chaine = strLigne
            Else
                chaine = chaine & Chr(10) & strLigne
            End If

        Wend
        Cells(MaLigneExcel, 5).Select
        Cells(MaLigneExcel, 5) = chaine

Donc si quelqu'un avait une idée pour me faire passer cette étape ce serait très sympa.
Merci par avance à vous tous.

Scoobidoo
 

john

XLDnaute Impliqué
Re : Copier-Coller un fichier txt en cellule A2

Bonjour,

Je ne pense pas que tu saches coller un si grand nombre de caractères dans une seule cellule !!!
Je crois que c'est limité à 32 767 caractères, mais je me trompe peut-être...

Bonne journée.

John
 

Scoobidoo

XLDnaute Occasionnel
Re : Copier-Coller un fichier txt en cellule A2

Bonjour John,

C'et fort possible mais mes connaissance de me permettent pas de l'affirmer.
ce que j'ai omis de préciser dans mon premier message, c'est que lorsque je le fais manuellement, je me positionne bien dans une cellule mais les info sont placées dans les lignes qui suivent sans autre procès ! C'est ce "copier/coller" que je souhaite reproduire sous vba.

Merci et a+

Scoobidoo
 

john

XLDnaute Impliqué
Re : Copier-Coller un fichier txt en cellule A2

Re,
Ah ok donc pas tout dans la même cellule...
Faut faire une importation de ton fichier texte alors, sera plus facile que de jouer avec des copiers/coller.

Peux-tu envoyer un exemple de ton fichier texte ? sera plus facile pour faire la macro d'importation.

John
 

job75

XLDnaute Barbatruc
Re : Copier-Coller un fichier txt en cellule A2

Bonjour Scoobidoo, john,

Il est très simple de copier un fichier texte.

Dans le fichier zip joint extraire les 2 fichiers dans le même répertoire (par exemple le bureau).

Ouvrir le fichier "Copie fichier TXT(1).xls" et cliquer sur le bouton pour lancer cette macro :

Code:
Sub CopieFichierTXT()
Dim chemin$, nomfich$, dest As Worksheet
chemin = ThisWorkbook.Path & "\" 'à adapter
nomfich = "SourceTXT.txt" 'à adapter
Set dest = Feuil1 'CodeName de la feuille destination
Application.ScreenUpdating = False
Application.DisplayAlerts = False 'si le fichier source est ouvert
dest.Cells.ClearContents 'RAZ
With Workbooks.Open(chemin & nomfich).Sheets(1).UsedRange
  dest.[A2].Resize(.Rows.Count, .Columns.Count) = .Value
  .Parent.Parent.Close False
End With
End Sub
A+
 

Pièces jointes

  • Copie fichier TXT(1).zip
    10.5 KB · Affichages: 11

Scoobidoo

XLDnaute Occasionnel
Re : Copier-Coller un fichier txt en cellule A2

Bonjour John, bonjour Job75,
Pardonnez-momi de répondre si tard à vos messages mais je étais en province depuis Mercredi.
Je vous remercie de vous être interessés à ma demande et de m'avoir apporté la solution car, en adaptant la réponse de Job75 j'ai enfin obtenu le résultat récherché.
C'est super je vais maintenant pouvoir continuer d'avancer.
Un grand merci au Forum et à vous deux en particulier.
Bonne journée à tous.

Scoobidoo
 

Discussions similaires

Statistiques des forums

Discussions
312 330
Messages
2 087 336
Membres
103 524
dernier inscrit
Smile1813