Mettre le nom du TXT importer / excel macro
Résolu
Marco
-
Marco -
Marco -
Bonjour,
Je souhaite intégrer le nom du fichier .txt que j'ouvre grace a une macro.
Merci de bien vouloir m'aider.
Je souhaite intégrer le nom du fichier .txt que j'ouvre grace a une macro.
Merci de bien vouloir m'aider.
A voir également:
- Mettre le nom du TXT importer / excel macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Importer favoris chrome - Guide
20 réponses
Une fois trier je n'arrive pas à les retrouvé. Les retrouver Où, sur le DD ?
Le seul moyen que je vois c'est de les chercher par rapport à leur noms d'origine (.txt).
Pour les noms c'est pas difficile suffit de les mettre dans un tableau, mais après..
Les rechercher Où ?
Le seul moyen que je vois c'est de les chercher par rapport à leur noms d'origine (.txt).
Pour les noms c'est pas difficile suffit de les mettre dans un tableau, mais après..
Les rechercher Où ?
1ere étape: j'importe mes TXT grâce a une boucle (500 environ).2 versions différentes que par le nom . Le premier s'appelle toto1,2,3... et le deuxième tata1,2,3... mais on le même style mais au contenu dans leurs cellules différentes (valeurs).
2eme étape : je trie ce que je viens d'importer dans un autre onglet par éléments (tous communs mais avec des valeurs différentes).
Mon problème est que si il y a une valeur abhérente, je ne peux pas retrouvé si c'est un toto ou un tata ainsi que son numéro 1,2,3...
Ce nom et numéro se trouve dans le nom du TXT d'où mon voeux de vouloir importer le nom du TXT avec mes valeurs.
2eme étape : je trie ce que je viens d'importer dans un autre onglet par éléments (tous communs mais avec des valeurs différentes).
Mon problème est que si il y a une valeur abhérente, je ne peux pas retrouvé si c'est un toto ou un tata ainsi que son numéro 1,2,3...
Ce nom et numéro se trouve dans le nom du TXT d'où mon voeux de vouloir importer le nom du TXT avec mes valeurs.
Si j'ai bien compris !!
Dan la boucle qui importe les fichiers et les met dans une feuille, pourquoi pas mettre une colonne en plus avec le nom du fichier et étendre le tri à cette colonne ?
Dan la boucle qui importe les fichiers et les met dans une feuille, pourquoi pas mettre une colonne en plus avec le nom du fichier et étendre le tri à cette colonne ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Exactement !!
Le tri j'arriverais à le faire mais pour importer le nom du fichier je ne vois pas comment faire.
Merci de votre aide.
Le tri j'arriverais à le faire mais pour importer le nom du fichier je ne vois pas comment faire.
Merci de votre aide.
Non pas forcément.Il me faut l'emplacement de tous les TXT.
Par contre pour en retrouver un facilement parmi 500 TXT ca serait plus simple que j'ai son nom dans le tri de la deuxième étape.
Par contre pour en retrouver un facilement parmi 500 TXT ca serait plus simple que j'ai son nom dans le tri de la deuxième étape.
La voici. Elle fait que importer !!
Une autre tri tout.
Sub Test()
Dim Fichier As String, Chemin As String
Dim i As Long
'Répertoire contenant les fichiers
Chemin = "C:\Boulot Macro"
Fichier = Dir(Chemin & "\*.txt")
'Boucle sur les fichiers
Do While Fichier <> ""
i = Range("A65536").End(xlUp).Row + 1
ImportText Chemin & "\" & Fichier, Cells(i, 1)
Fichier = Dir
Loop
End Sub
Sub ImportText(NomFichier As Variant, Cible As Range)
Dim QT As QueryTable
Set QT = ActiveSheet.QueryTables.Add(Connection:="TEXT;" & _
NomFichier, Destination:=Cible)
With QT
'Définit les séparateur de colonnes dans le fichier txt
.TextFileOtherDelimiter = ";"
.TextFileSemicolonDelimiter = True
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.Refresh
End With
Columns("A:A").Select
Selection.Replace What:="/", Replacement:=".", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub
Une autre tri tout.
Sub Test()
Dim Fichier As String, Chemin As String
Dim i As Long
'Répertoire contenant les fichiers
Chemin = "C:\Boulot Macro"
Fichier = Dir(Chemin & "\*.txt")
'Boucle sur les fichiers
Do While Fichier <> ""
i = Range("A65536").End(xlUp).Row + 1
ImportText Chemin & "\" & Fichier, Cells(i, 1)
Fichier = Dir
Loop
End Sub
Sub ImportText(NomFichier As Variant, Cible As Range)
Dim QT As QueryTable
Set QT = ActiveSheet.QueryTables.Add(Connection:="TEXT;" & _
NomFichier, Destination:=Cible)
With QT
'Définit les séparateur de colonnes dans le fichier txt
.TextFileOtherDelimiter = ";"
.TextFileSemicolonDelimiter = True
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.Refresh
End With
Columns("A:A").Select
Selection.Replace What:="/", Replacement:=".", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub
Do While fichier <> "" i = Range("A65536").End(xlUp).Row + 1 ImportText Chemin & "\" & fichier, Cells(i, 1) 'AJOUTER Range(Cells(i, 1), Cells(i, Cells(i, 1).End(xlLeft).Columns)) = fichier fichier = Dir Loop
Je ne sais pas tester vu que j'ai pas toutes les indications.
tu dis.
.
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Décidemment c'est pas mon jour...
Faut pas de S à Column et faut mettre +1
La ligne complète..
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Faut pas de S à Column et faut mettre +1
La ligne complète..
Range(Cells(i, 1), Cells(i, Cells(i, 1).End(xlToLeft).Column + 1)) = FichierCette fois-ci j'ai tester :-D
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Grrr... beh oui... c'est pas mon jour..(sorry)
Remplacer la ligne par...
A+
Remplacer la ligne par...
Cells(i, Cells(i, 1).End(xlToRight).Column + 1) = Fichier
A+
Pourtant cette fois c'est la bonne formule..
essaye avec,
ActiveSheet.Cells(i, Cells(i, 1).End(xlToRight).Column + 1).value = Fichier
Si ça va pas..
Tu sélectionne cette ligne.
Tu tape F9 (la ligne va se colorer en brun.
Tu lance ta macro.
Dans la fenêtre Exécution (si elle n'est pas affichée tu l'ouvre (Ctrl+G)
Tu tape
Print ActiveSheet.name
Et voir si c'est bien le nom de l'onglet où tu copie tout.
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
essaye avec,
ActiveSheet.Cells(i, Cells(i, 1).End(xlToRight).Column + 1).value = Fichier
Si ça va pas..
Tu sélectionne cette ligne.
Tu tape F9 (la ligne va se colorer en brun.
Tu lance ta macro.
Dans la fenêtre Exécution (si elle n'est pas affichée tu l'ouvre (Ctrl+G)
Tu tape
Print ActiveSheet.name
Et voir si c'est bien le nom de l'onglet où tu copie tout.
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Bonjour,
Alors dans une macro excel j'importe plusieurs fichiers .txt.
Une fois trier je n'arrive pas à les retrouvé. Le seul moyen que je vois c'est de les chercher par rapport à leur noms d'origine (.txt).
Je souhaite donc intégrer le nom des .txt dans ma macro d'importation.