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 15 mars 2023 - 7 avril 2016 à 15:05
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 15 mars 2023 - 7 avril 2016 à 15:05
A voir également:
- Fusionner fichier txt
- Dans le texte, un seul mot a réellement été écrit en lettres capitales (majuscules). quel est ce mot ? ✓ - Forum Word
- Wetransfer gratuit fichiers lourd - Guide
- Fusionner plusieurs pdf en un seul - Guide
- Téléchargez cette archive (dossier compressé). en extraire tous les fichiers dans un dossier local. quel fichier contient l’expression trouverpix ? ✓ - Forum Windows
- Fusionner plusieurs feuilles excel en une seule - Guide
5 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
15 mars 2023
2 712
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
15 mars 2023
2 712
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
307
>
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
15 mars 2023
2 712
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
15 mars 2023
2 712
>
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
15 mars 2023
2 712
>
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
15 mars 2023
2 712
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
15 mars 2023
2 712
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
15 mars 2023
2 712
>
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
15 mars 2023
2 712
>
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