Importation txt sur meme fichier, autre feuil

Bonsoir,

J’ai besoin d’aide

Cette formule :

Me permet de lire un fichier txt

J’ai bien cherché et même recherché

Je n’ai trouvé aucun exemple qui me permettrait de ne pas poser cette question

Sub Recup()

Workbooks.OpenText Filename:="C:\Test\Test2.txt"

End Sub

Le Pb c’est que je n’arrive pas ouvrir le fichier txt sur le même fichier en feuil2 et dans une cellule précise par exemple CZ20 (si je réutilise la macro qu’il retourne sur la cellule précise)

J’ai bien essayé :

Sub Recup()

Dim txt As String

nom = Range("AV9")

Workbooks.Add

txt = ThisWorkbook.Path & "\test\" & nom

Worksheets("Feuil2").QueryTables.Add("TEXT;" & Fichier, [CZ20]).Refresh

End Sub

Mais rien.

Enfin bref je tourne en rond sans trouver

Pouvez-vous m’aider s’il vous plait.

Bonsoir,

Sub Recup()

Dim txt As String

nom = Range("AV9")

Workbooks.Add

txt = ThisWorkbook.Path & "\test\" & nom

Worksheets("Feuil2").QueryTables.Add("TEXT;" & Fichier, [CZ20]).Refresh

End Sub

Il faut que tu remplaces Fichier par txt ou l'inverse... Ta macro charge la variable txt en mettant l'emplacement du fichier, mais tu fais la connexion au fichier texte avec la variable Fichier qui n'est pas initialisée...

A+

Benoît Marchand

[Benead]

Merci pour ta réponse.

Le txt a était changé, mais cela ne fonctionne pas

Cette macro ouvre un autre fichier, mais n’inscrit rien

Ce que j’aimerais c’est qu’il prenne les informations du fichier .txt et qu’ils les mettent sur l’onglet feuil2

Peux-tu m’aider ?

Il faut envoyer le bon code ou un fichier xls.

J'ai fait le test chez moi, cela fonctionne.

A+

Benoît Marchand

[Benead]

Le voici,

mais c'est le même.

merci.

20test.xlsm (14.99 Ko)

Salut le Forum

Essaye comme ceci

Fic = ThisWorkbook.Path & "\test\" & nom & ".txt"
ActiveSheet.QueryTables.Add(Connection:="TEXT;" & Fic, Destination:=Range("A1")).Refresh

Mytå

merci,

mais c'est idem

Sub Recup()

Dim txt As String

nom = Range("AV9")

Workbooks.Add

txt = ThisWorkbook.Path & "\test\" & nom & ".txt"

Worksheets("Feuil2").QueryTables.Add("TEXT;" & txt, [CZ20]).Refresh

End Sub

je n'y comprend rien

Re le Forum

Tu n'as pas suivi mon exemple

Sub Recup()
  Dim txt As String
  Dim nom As String

    nom = Range("AV9")
    Workbooks.Add

    txt = ThisWorkbook.Path & "\test\" & nom & ".txt"
    ActiveSheet.QueryTables.Add(Connection:="TEXT;" & txt, Destination:=Range("A1")).Refresh

End Sub

Mytå

Super là ça fonctionne.

Mais ce que je souhaite c’est que les informations passe sur la feuil 2

Actuellement ça ouvre un nouveau fichier.

En tous cas c’est déjà ça.

Merci beaucoup pour ton aide.

Re le Forum

Sur le même Fichier dans la Feuil2 en C10

Sub Recup()
  Dim Fic As String
  Dim Nom As String
  Dim Wbs As Object

    Nom = Range("AV9")

    Fic = ThisWorkbook.Path & "\test\" & Nom & ".txt"
    Set Wbs = ActiveWorkbook.Sheets("Feuil2")

    With Wbs
        .Activate
        .QueryTables.Add(Connection:="TEXT;" & Fic, Destination:=[C10]).Refresh
    End With

    Set Wbs = Nothing

End Sub

Dans un nouveau Classeur sur la Feuil2 en C10

Sub Recup()
  Dim Fic As String
  Dim Nom As String
  Dim Wbs As Object

    Nom = Range("AV9")
    Workbooks.Add

    Fic = ThisWorkbook.Path & "\test\" & Nnom & ".txt"
    Set Wbs = ActiveWorkbook.Sheets("Feuil2")

    With Wbs
        .Activate
        .QueryTables.Add(Connection:="TEXT;" & Fic, Destination:=[C10]).Refresh
    End With

    Set Wbs = Nothing

End Sub

Mytå

Merci Master JEDI.

Le PADAWAN que je suis te remercie à l’infini.

Le savoir que tu viens de me transmettre me fait progresser.

Encore merci.


Oops encore une demande.

Comment faire pour que le fichier TXT importé reste figé sur la même destination

C’est-à-dire que si je relance la macro qu’il ne se décalé pas.

Re le Forum

Réaliste, modifie la macro comme ceci :

    With Wbs
        .Activate
        .QueryTables.Add(Connection:="TEXT;" & Fic, Destination:=[C10]).Refresh
        .QueryTables(1).Delete
    End With

Mytå

Bonjour Realiste,

Pour rebondir précisément au fait que ta macro insére ton fichier texte sur la Feuill2 d'un nouveau classeur, c'est parce qu'on le lui demande.

Dans ton code :

Sub Recup()

Dim txt As String

nom = Range("AV9")

Workbooks.Add

txt = ThisWorkbook.Path & "\test\" & nom

Worksheets("Feuil2").QueryTables.Add("TEXT;" & Fichier, [CZ20]).Refresh

End Sub

Workbooks.Add ouvre un nouveau classeur qui devient par conséquent automatiquement actif.

Worksheets("Feuil2").QueryTables.Add("TEXT;" & Fichier, [CZ20]).Refresh insère dans la Feuill2 du classeur actif qui est celui que tu viens de créer. Le fait de supprimer la ligne "Workbooks.add" laisse le classeur qui contient la macro actif, et par conséquent, le fichier s'insère dans la bonne Feuill2.

A+

Benoît Marchand

[Benead]

Bonjour,

Benead merci pour l’explication je comprends mieux

Mytå merci pour ton aide si précieuse

J’ai bien fait ce que tu m’as dit, mais cela ne fonctionne pas

Lorsque je valide la macro elle se décale ver la droite

Ce qui serait bien c’est qu’à chaque fois que je valide la macro, qu’elle se positionne a la même place au lieu de se décaler. En bref si la cellule est déjà pleine qu’elle l’écrase.

Mais en écrivant ses lignes, je viens de trouver une solution

Je n’ai cas simplement demandé que la cellule soit effacée à chaque fois

Je vais tester mais sa devrait être bon.

Voilà,

j'ai fait Sheets("Feuil2").Select

Range("C10").Select

Selection.ClearContents

Sheets("Feuil1").Select

Ça fonctionne.

Peux-tu me donner ton avis ?

Bonsoir Realiste,

Les .select ne sont absolument pas utile :

Sheets("Feuil2").Select

Range("C10").Select

Selection.ClearContents

Sheets("Feuil1").Select

se résume à

Sheets("Feuil2").Range("C10").ClearContents

Dans ton exemple tu veux bien uniquement effacer le contenu de la cellule C10, n'est-ce pas ?

A+

Benoît Marchand

[Benead]

Re le Forum

.QueryTables(1).Delete

Ne fonctionne pas si tu as déjà d'autres requêtes de créées dans le fichier.

Une macro pour toutes les supprimer

Sub DeleteAllQueries()

     Dim qt As QueryTable
     Dim WSh As Worksheet

     For Each WSh In ThisWorkbook.Worksheets
          For Each qt In WSh.QueryTables
               qt.Delete
          Next qt
     Next WSh

End Sub

Mytå

Bonjour tous,

Excuser l'incruste mais j'ai une petite question à poser.

Le nom de ton fichier texte est toujours le même ?

Si non : il change toujours ou bien il pourrais y avoir 2,3 noms qui reviennent fréquemment ?

@ realiste -> un tuto sur les connexions.

Il est pour des connections web mais c'est identique pour les fichiers texte (sauf les tableaux)

Cdlt.

Ben c’est génial,

Benead=>effectivement ta solution est bien mieux =>merci

Mytå=>comme d’ab rien à dire vraiment merci beaucoup

J’ai beaucoup appris vous remercie énormément

lermite=> oui le fichier peut changer, mais ça, je pense le maitriser

Je vais tous de même regarder le tuto

Merci.

Je pense que je peux fermer le sujet

Encore merci à vous.

Rechercher des sujets similaires à "importation txt meme fichier feuil"