Fusionner plusieurs fichiers txt en un seul onglet xsl.
Fermé
van_van
Messages postés
60
Date d'inscription
mercredi 6 avril 2016
Statut
Membre
Dernière intervention
9 janvier 2017
-
Modifié par BmV le 7/04/2016 à 09:29
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 7 avril 2016 à 15:05
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 7 avril 2016 à 15:05
A voir également:
- Fusionner txt
- Comment fusionner des pdf sans logiciel - Guide
- Fusionner fichier excel - Guide
- Fusionner cellule excel - Guide
- Fusionner calendrier outlook et gmail - Guide
- Fusionner pdf logiciel - Télécharger - PDF
5 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 744
7 avril 2016 à 11:48
7 avril 2016 à 11:48
Voilà.
A copier dans un module :
A copier dans un module :
Option Explicit Sub Copier_Plusieurs_Fichiers_Txt() Dim NomFich, Wbk As Workbook, i As Integer, mavar As Variant, DL_Sh1 As Long, DL As Long Application.ScreenUpdating = False Set Wbk = ThisWorkbook NomFich = Application.GetOpenFilename(FileFilter:="Fichier texte(*.txt),*.txt", Title:="Sélectionner les fichiers", ButtonText:=mavar, MultiSelect:=True) If IsArray(NomFich) Then For i = LBound(NomFich, 1) To UBound(NomFich, 1) If NomFich(i) <> "Faux" Then 'ouverture fichiers txt Workbooks.OpenText Filename:=NomFich(i), Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, Semicolon:=True, DecimalSeparator:="." DoEvents 'traitement With Wbk Sheets(1).Copy After:=.Sheets(.Sheets.Count) DoEvents If WorksheetFunction.CountA(.Sheets(1).Columns(1)) = 0 Then DL_Sh1 = 1 Else DL_Sh1 = .Sheets(1).Columns(1).Find("*", , , , , xlPrevious).Row End If DL = .Sheets(.Sheets.Count).Columns(1).Find("*", , , , , xlPrevious).Row .Sheets(.Sheets.Count).Range("A1:Z" & DL).Copy .Sheets(1).Range("A" & DL_Sh1) Application.DisplayAlerts = False .Sheets(.Sheets.Count).Delete Application.DisplayAlerts = True End With 'fermeture fichiers txt NomFich(i) = Split(NomFich(i), "\")(UBound(Split(NomFich(i), "\"))) With Workbooks(NomFich(i)) .Close False End With DoEvents End If 'suivant Next i Else MsgBox "Aucun fichier sélectionné." End If 'FIN Sheets(1).Select End Sub
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 744
7 avril 2016 à 08:02
7 avril 2016 à 08:02
Bonjour,
1- comment sont construits les fichiers txt? Plusieurs colonnes? Structurés? etc... Décris les au mieux.
2- Montre nous le bout de code que tu as tenté qui ne fonctionne pas.
1- comment sont construits les fichiers txt? Plusieurs colonnes? Structurés? etc... Décris les au mieux.
2- Montre nous le bout de code que tu as tenté qui ne fonctionne pas.
van_van
Messages postés
60
Date d'inscription
mercredi 6 avril 2016
Statut
Membre
Dernière intervention
9 janvier 2017
7 avril 2016 à 09:01
7 avril 2016 à 09:01
Merci de répondre.
Les fichiers txt sont destructurés a la base sont des fichiers pdf mais qu'un entreprise envois également en txt, mais c'est pas beau a voir. Malheuresement c'est des données confidentielles je ne peux pas faire voir.
Désolé c'est pas chez moi la suis à l'entreprise je vais essayé avec BO
Les fichiers txt sont destructurés a la base sont des fichiers pdf mais qu'un entreprise envois également en txt, mais c'est pas beau a voir. Malheuresement c'est des données confidentielles je ne peux pas faire voir.
Désolé c'est pas chez moi la suis à l'entreprise je vais essayé avec BO
ryko1820
Messages postés
1645
Date d'inscription
dimanche 28 avril 2013
Statut
Membre
Dernière intervention
15 août 2021
276
>
van_van
Messages postés
60
Date d'inscription
mercredi 6 avril 2016
Statut
Membre
Dernière intervention
9 janvier 2017
7 avril 2016 à 09:16
7 avril 2016 à 09:16
Hello,
peut être qu'il serait préférable dans ce cas de demander à l'entreprise qui fournit les données si elle n'a pas un format plus adapté aux traitements ?
peut être qu'il serait préférable dans ce cas de demander à l'entreprise qui fournit les données si elle n'a pas un format plus adapté aux traitements ?
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 744
7 avril 2016 à 09:28
7 avril 2016 à 09:28
Bonjour,
Essayez cette procédure sur 1 fichier txt et dites moi le résultat :
1- ouvrir un nouveau classeur Excel
2- Alt+F11
3- Insertion/Module
4- copier/coller ce code dans un module
5- fermer la fenêtre VBA
6- Taper Alt + F8
7- Choisir : Copier_1_Fichier_Txt
8- Cliquer sur Exécuter
9- sélectionner 1 fichier txt
10- revenir me dire ce qu'il en est.
Essayez cette procédure sur 1 fichier txt et dites moi le résultat :
1- ouvrir un nouveau classeur Excel
2- Alt+F11
3- Insertion/Module
4- copier/coller ce code dans un module
Sub Copier_1_Fichier_Txt() Dim NomFich, Wbk As Workbook Set Wbk = ThisWorkbook NomFich = Application.GetOpenFilename _ (FileFilter:="Fichier texte(*.txt),*.txt", Title:="Sélectionner le fichier") If NomFich = False Then MsgBox "Aucun fichier sélectionné." Exit Sub End If Workbooks.OpenText Filename:=NomFich, Origin:=xlWindows, _ StartRow:=1, DataType:=xlDelimited, Semicolon:=True, DecimalSeparator:="." DoEvents With Wbk Sheets(1).Copy After:=.Sheets(.Sheets.Count) DoEvents End With NomFich = Split(NomFich, "\")(UBound(Split(NomFich, "\"))) With Workbooks(NomFich) .Close False End With DoEvents End Sub
5- fermer la fenêtre VBA
6- Taper Alt + F8
7- Choisir : Copier_1_Fichier_Txt
8- Cliquer sur Exécuter
9- sélectionner 1 fichier txt
10- revenir me dire ce qu'il en est.
van_van
Messages postés
60
Date d'inscription
mercredi 6 avril 2016
Statut
Membre
Dernière intervention
9 janvier 2017
7 avril 2016 à 10:05
7 avril 2016 à 10:05
Je fais ca tout de suite merci d'avance
van_van
Messages postés
60
Date d'inscription
mercredi 6 avril 2016
Statut
Membre
Dernière intervention
9 janvier 2017
7 avril 2016 à 10:10
7 avril 2016 à 10:10
La macro permet d'importer plusieur fichiers txt sur plusieurs onglets differens de excel, cependant ce que j'arrive pas c'est les mettre tous dans un dans un seul onglet
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 744
>
van_van
Messages postés
60
Date d'inscription
mercredi 6 avril 2016
Statut
Membre
Dernière intervention
9 janvier 2017
7 avril 2016 à 10:14
7 avril 2016 à 10:14
Là n'est pas (encore) la question.
Comment se déroule l'import?
Le résultat, dans la feuille, est-il exploitable?
Toutes les données "arrivent" bien dans la feuille Excel?
Comment se déroule l'import?
Le résultat, dans la feuille, est-il exploitable?
Toutes les données "arrivent" bien dans la feuille Excel?
van_van
Messages postés
60
Date d'inscription
mercredi 6 avril 2016
Statut
Membre
Dernière intervention
9 janvier 2017
7 avril 2016 à 10:24
7 avril 2016 à 10:24
Oui ils arrivent bien, pardon mais c'est pas encore tres déstructurés
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 744
>
van_van
Messages postés
60
Date d'inscription
mercredi 6 avril 2016
Statut
Membre
Dernière intervention
9 janvier 2017
7 avril 2016 à 10:41
7 avril 2016 à 10:41
mais c'est pas encore tres déstructurés
Faut m'expliquer clairement ce qu'il convient de faire pour les "structurer"...
Sinon, en attendant, essaye ceci avec 3-4 fichiers txt :
Faut m'expliquer clairement ce qu'il convient de faire pour les "structurer"...
Sinon, en attendant, essaye ceci avec 3-4 fichiers txt :
Sub Copier_Plusieurs_Fichiers_Txt() Dim NomFich, Wbk As Workbook, i As Integer, mavar As Variant, DL_Sh1 As Long, DL As Long Set Wbk = ThisWorkbook NomFich = Application.GetOpenFilename(FileFilter:="Fichier texte(*.txt),*.txt", Title:="Sélectionner les fichiers", ButtonText:=mavar, MultiSelect:=True) If IsArray(NomFich) Then For i = LBound(NomFich, 1) To UBound(NomFich, 1) If NomFich(i) <> "Faux" Then Workbooks.OpenText Filename:=NomFich(i), Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, Semicolon:=True, DecimalSeparator:="." DoEvents With Wbk Sheets(1).Copy After:=.Sheets(.Sheets.Count) DoEvents If WorksheetFunction.CountA(.Sheets(1).Columns(1)) = 0 Then DL_Sh1 = 1 Else DL_Sh1 = .Sheets(1).Columns(1).Find("*", , , , , xlPrevious).Row End If DL = .Sheets(.Sheets.Count).Columns(1).Find("*", , , , , xlPrevious).Row .Sheets(.Sheets.Count).Range("A1:Z" & DL).Copy .Sheets(1).Range("A" & DL_Sh1) Application.DisplayAlerts = False .Sheets(.Sheets.Count).Delete Application.DisplayAlerts = True End With NomFich(i) = Split(NomFich(i), "\")(UBound(Split(NomFich(i), "\"))) With Workbooks(NomFich(i)) .Close False End With DoEvents End If Next i Else MsgBox "Aucun fichier sélectionné." End If End Sub
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 744
7 avril 2016 à 11:35
7 avril 2016 à 11:35
Je te prépare une nouvelle mouture avec deux trois améliorations, dont la sélection de la feuil1 en fin de macro...
Dans 5 minutes.
--
Dans 5 minutes.
--
van_van
Messages postés
60
Date d'inscription
mercredi 6 avril 2016
Statut
Membre
Dernière intervention
9 janvier 2017
7 avril 2016 à 11:43
7 avril 2016 à 11:43
d'accord merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 744
7 avril 2016 à 14:27
7 avril 2016 à 14:27
Tout d'abord, voici un nouveau fichier qui te permet de ne pas recopier systématiquement les entêtes :
https://www.cjoint.com/c/FDhmBtJpNwE
Ensuite, que souhaites tu faire?
Ne garder que les lignes dont la colonne H se termine par 333?
Autre chose?
N'hésite pas...
https://www.cjoint.com/c/FDhmBtJpNwE
Ensuite, que souhaites tu faire?
Ne garder que les lignes dont la colonne H se termine par 333?
Autre chose?
N'hésite pas...
van_van
Messages postés
60
Date d'inscription
mercredi 6 avril 2016
Statut
Membre
Dernière intervention
9 janvier 2017
7 avril 2016 à 14:28
7 avril 2016 à 14:28
non je veux tout garder pour l'instant
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 744
>
van_van
Messages postés
60
Date d'inscription
mercredi 6 avril 2016
Statut
Membre
Dernière intervention
9 janvier 2017
7 avril 2016 à 14:37
7 avril 2016 à 14:37
Ben explique moi alors ton histoire de requête, de chaussures rouges etc...
van_van
Messages postés
60
Date d'inscription
mercredi 6 avril 2016
Statut
Membre
Dernière intervention
9 janvier 2017
7 avril 2016 à 14:40
7 avril 2016 à 14:40
enfaite la l'objectif et de rendre la base tres propre via macro
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 744
>
van_van
Messages postés
60
Date d'inscription
mercredi 6 avril 2016
Statut
Membre
Dernière intervention
9 janvier 2017
7 avril 2016 à 14:41
7 avril 2016 à 14:41
C'est ce que fait mon dernier fichier non?
van_van
Messages postés
60
Date d'inscription
mercredi 6 avril 2016
Statut
Membre
Dernière intervention
9 janvier 2017
7 avril 2016 à 15:04
7 avril 2016 à 15:04
ecoute j'attend mon superieur il arrive dans une semaine, pour voir un truc et je te recontacte d'accord ?
7 avril 2016 à 11:57
7 avril 2016 à 12:01
Si c'est résolu, on peut passer à ton autre souci.
7 avril 2016 à 12:04
7 avril 2016 à 12:04
7 avril 2016 à 12:05