Regroupement de plusieurs fichiers TXT en un seul

Fermé
horalex Messages postés 30 Date d'inscription lundi 18 février 2008 Statut Membre Dernière intervention 29 juillet 2018 - 26 juil. 2018 à 15:14
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 - 30 juil. 2018 à 10:46
Bonjour,

J'ai vu la même demande sur le forum sans pour autant comprendre le langage VBA ne me parle pas du tout cependant je vois que ca pourrait bien m'aider !!
J'ai dans un dossier des fichiers txt generés en extraction par un logiciel. pour chaque jour du mois et toujours le même format separé par des ";"
Je sais faire l'extraction fichier par fichier mais sur 365 jours vous imaginez bien le nombre de clics répété que je peux faire !!
Mon 1er objectif serai de récupéré chaque fichier pour un même mois sur un classeur excel
(excel 2010) 1 onglet serai un jour et le nom de l'onglet répété sur chaque ligne de données.


En schématisation j'aimerai ça :
SMAR01_20180301.txt onglet 1 SMAR01_20180301 |
SMAR01_20180302.txt >>> dans un classeur excel onglet 2 SMAR01_20180302 | >> pour les onglets créé
SMAR01_20180303.txt onglet 3 SMAR01_20180303 | repeter ce nom sur
etc... etc... le nom de l'onglet

Est ce que vous pouvez m'aider ? merci d'avance


4 réponses

horalex Messages postés 30 Date d'inscription lundi 18 février 2008 Statut Membre Dernière intervention 29 juillet 2018
26 juil. 2018 à 15:15
zut la schématisation n'est pas bonne après validation du message ... J'espère que vous me comprendrez...
0
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
Modifié le 26 juil. 2018 à 16:23
Bonjour,

J'espère que vous me comprendrez...
Ca dépend, un classeur par mois ou un classeur pour 365 jours??
Que deviennent les fichiers txt importes: detruits ou toujours a dispo??
0
horalex Messages postés 30 Date d'inscription lundi 18 février 2008 Statut Membre Dernière intervention 29 juillet 2018
27 juil. 2018 à 08:54
bonjour

c'est bien un classeur par mois que je souhaite formé et pour les fichiers textes initiaux, ils peuvent être convertis définitivement car la recup en fichier texte est une extraction du logiciel et donc possibilité d'aller les récupérer si besoin ultérieurement dans l'année.
0
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
27 juil. 2018 à 11:06
Bonjour,

Pour recuperer ces fichiers, ca doit se faire automatiquement quand vous lancerez le "programme" excel ou vous voulez faire le choix du ou des fichiers a recuperer???
0
horalex Messages postés 30 Date d'inscription lundi 18 février 2008 Statut Membre Dernière intervention 29 juillet 2018
27 juil. 2018 à 11:15
Bonjour
pour rester simple et maîtriser mes choix, je préfère faire le choix des fichiers et également parce que mes fichiers sont dans un dossier sur un réseaux (je peux travailler sur plusieurs ordinateurs selon l'endroit où je me trouve au boulot)
0
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
27 juil. 2018 à 11:19
Re,

Ok, simple quetion: combien de champs dans un fichier sur une ligne??
0
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
28 juil. 2018 à 07:24
Bonjour,

mais bon pas d'importance
Juste une remarque car une ligne toutes les minutes pas deux

'un fichier final excel que j'ai fait "à la main"
Si vous voulez

joindre un fichier, sans données confidentielles
https://www.cjoint.com
0
horalex Messages postés 30 Date d'inscription lundi 18 février 2008 Statut Membre Dernière intervention 29 juillet 2018
28 juil. 2018 à 14:39
Bonjour
Voici pour exemple

Fichier txt généré par logiciel
https://www.cjoint.com/c/HGCmCUdpZpY

Fichier Excel final « fait mains » en regroupant les fichiers txt d’un même mois
https://www.cjoint.com/c/HGCmEEC61gY

Merci bien de votre aide
0
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
Modifié le 28 juil. 2018 à 17:34
Re,
Dans votre entourage, avez-vous une personne qui connaisse la VBA Excel car le "programme" que je vous mettrai a dispo devra peut-etre ajuste. A defaut, pour les fichiers XLSX, je peux faire comme les TXT cad: une boite dialogue pour le choix du chemin.
Je vois que le nom du fichier XLSX, le mois n'est pas en nombre mais en lettre:SMAR02-avril-2018. alors ......

suite
nom fichier txt: SMAR02-20180401.txt, c'est quoi 01 ou 02 apres SMAR ??
Il n'y a peut pas y avoir plus d'un fichier pour une meme date??

suite:
C'est bien une ligne d'info toutes les deux minutes
0
horalex Messages postés 30 Date d'inscription lundi 18 février 2008 Statut Membre Dernière intervention 29 juillet 2018
28 juil. 2018 à 19:38
Bonjour

Oui en effet je devrais pouvoir trouver de l’aide pour la programmation...

Le fichier Excel est nomé à ma manière j’ai gardé le nom du régulateur 1,SMAR01, et est rajouter le mois
Il y a en effet 2 fichiers pour la même date car il y 2 régulateurs...
Les fichiers textes sortent pour le régulateur 1 à la date du 01/04/2018 par exemple SMAR01_20180401.txt et idem pour le régulateur 2 SMAR02_20180401.txt

Une fois que j’ai copié tous mes fichiers du mois ds un même classeur Excel je le renomme régulateur 1: SMAR01_avril 2018.xls et idem pour le régulateur 2 : SMAR02_avril 2018.xls

J’ai bien une ligne toutes les 2 min
0
horalex Messages postés 30 Date d'inscription lundi 18 février 2008 Statut Membre Dernière intervention 29 juillet 2018
28 juil. 2018 à 19:40
Si ça devient trop long dite moi ...
Je ne voudrai pas abuser de votre temps ;)
Déjà de savoir que c’est possible ça m’en donne de l’espoire Pour les extractions futures ...
0
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
29 juil. 2018 à 13:20
Bonjour,
Je ne voudrai pas abuser de votre temps ;)
Le temps ne compte pas, seul le resutat compte...

Pourquoi des fichiers xls avec Excel 2010????

Pour les fichiers TXT vous avez combien de régulateurs ??
0
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
Modifié le 29 juil. 2018 à 18:41
Re,
Pour telecharger le fichier, clic sur le lien
Une facon de faire: https://mon-partage.fr/f/W1AXdYtb/
L'enregistrement des classeurs recup est en XLSX.....

Il faut aller dans le code VBA, Module MLance_Recup, procedure Choix_Recup pour modifier le chemin des fichiers XLSX
Pour ce faire: copier le fichier ou vous avez prevu, ouvrir le fichier xlsm, appuyez sur les touches ctrl+F11 pour ouvrir la fenetre VBA, double clics sur Modules, double clic sur le Module MLance_Recup, changer le chemin qui est entre doubles cotes pour la variable Rep_XLSX
Pour lancer la recup fichier(s), clic sur le bouton "Lancement Recuperation Fichier(s)" et choisissez l'endroit ou se trouvent les fichiers TXT a l'aide de l'explorer qui est ouvert, selectionner un ou plusieurs fichiers TXT et clic sur ouvrir.
Pour selectionner plusieurs fichiers appuyer sur Shift s'ils sont consécutifs ou sur ctrl s'ils ne sont pas consécutifs
Mais vous etes surement au top pour ces manipes

A+
0
Bonjour
je viens de tester en changeant comme indique le chemin d'acces (j'ai remplacé votre ligne avant !)
"Y:nnaeic04-2\databfp$\Utilisateurs\ahonore\SERRE\HPE Aurélie\climat\climat S2\données clim 2018\regulateur 01_2018\SMAR01_recup données\

après lancement de la récup fichier j'ai sélectionné mes fichiers txt pour se régulateur et
et sur le fichier j'ai ce classeur : SMAR01_201803 n'existe pas creer ? Clic sur OK et envois sur VBA qui me dit :
erreur d'exécution '1004' : la Methode 'Save As' de l'objet '_workbook' a échoué
J'ai cliqué sur debogage
et voici la fenêtre qui apparait :

Sub Nouveau_Classeur(Rep_XLSX, Classeur, Onglet)
Worksheets("Recup_TXT").Copy 'copie de la feuille active
'enregistrement dans un nouveau classeur
With ActiveWorkbook
'.Title = ActiveSheet.Name 'titre pour propriete/detail du classeur
'.Subject = ActiveSheet.Name ' objet pour propriete/detail du classeur
.ActiveSheet.Name = Onglet
Application.DisplayAlerts = False 'desactive les alertes Excel
.SaveAs Filename:=Rep_XLSX & Classeur 'sauvegarde le nouveau classeur
.Close True 'ferme le nouveau classeur avec sauvegarde
Application.DisplayAlerts = True 'active les alertes Excel
End With
End Sub


La ligne soulignée est surlignee en jaune sur VBA

j'ai un classeur avec un onglet identifié SMAR01_20180301 qui s'ouvre

J'ai été créer un fichier excel SMAR01_201803.XLSX pour voir mais pas de succès évidemment...

c'est un sacrée truc la programmation !! je suis admirative du travail !
0
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
Modifié le 30 juil. 2018 à 11:01
Re,
Je regarde la chose, car sauf erreur, chez moi ca marchait.
Je confirme, chez moi ca marche. Peut-etre un probleme avec le chemin de sauvegarde......!!
Je vais voir en creant un disque virtuel avec votre ligne de repertoires
Pour le nom des classeurs XLSX??

Si l'erreur s'affiche comme ceci, c'est un probleme de chemin
0