XL 2013 Ajouter une colonne & des données auto sur plusieurs fichiers CSV "à la volée"

excelium

XLDnaute Nouveau
Bonjour à tous,

Je reviens vers vous pour savoir, déjà, si ce que je veux est de l'ordre du "matériellement possible".
Et puis si oui, si vous aviez des pistes/réponses possibles.

J'ai donc un dossier contenant 4000 fichiers CSV.
Mon but est le suivant : pouvoir associer, automatiquement, un élément de reconnaissance dans chaque fichier CSV avant de les fusionner tous ensemble dans un même et grand fichier.
Ainsi, quand j'ouvrirai le mega-csv, je pourrais savoir que telle ligne est associée à tel fichier CSV.

Pour le "cas" :
> Je reçois donc plusieurs centaines de fichiers csv dans un dossier
> Chaque fichier CSV s'appelle "abcsd-http-le-site-com-45481" (ou 45azd4, etc).
> Je souhaiterais ajouter une colonne au début de chaque fichier CSV qui aura autant de celles que de lignes existantes dans le fichier CSV. Chaque cellule, de cette nouvelle première colonne, aura le titre du fichier CSV.
> Je sais, de mon côté, les regrouper d'un coup d'un seul dans un seul et grand fichier csv
> Ainsi, mon mega fichier CSV fusionné pourra s'afficher comme suit :

Nouvelle ColonneColonne 2Colonne 3
abcsd-http-le-site-com-45481blablablabla
abcsd-http-le-site-com-45481blablablabla
abcsd-http-le-site-com-45azd4blablablabla
abcsd-http-le-site-com-45azd4blablablabla

Un big Up à vous par avance ^^
Thx
 
Dernière modification par un modérateur:

Paf

XLDnaute Barbatruc
Re : Ajouter une colonne & des données auto sur plusieurs fichiers CSV "à la volée"

Bonjour,

a priori on ne peut réaliser cette opération qu'au moment du regroupement des différents fichiers, puisque après, rien de permet de déterminer l'appartenance d'une ligne à un fichier.

Selon comment est réalisé ce regroupement on pourrait ( ou pas ) intervenir.

A+
 

excelium

XLDnaute Nouveau
Re : Ajouter une colonne & des données auto sur plusieurs fichiers CSV "à la volée"

Bonjour Paf,

Merci pour ta réponse !
Pour répondre à ta remarque, je fais cette opération en suivant les règles indiquées ici :
Fusionner des fichiers csv identiques en 1 clic - Seoxis.

Il faudrait donc modifier le .bat pour inclure cette "règle" ? Sais-tu le faire ?

Pour information, le .bat, comme le dit l'article, contient uniquement :
copy *.csv importfichier.csv

Par avance, merci ;)
 

gosselien

XLDnaute Barbatruc
Re : Ajouter une colonne & des données auto sur plusieurs fichiers CSV "à la volée"

A lire avant toute chose

5 – La possibilité de joindre des fichiers est donnée sur ce forum. Ne pas hésiter à utiliser cette fonction, tout en veillant que les données soient bidons et donc qu’aucune donnée confidentielle, nominative ne soit dans le fichier.
 

excelium

XLDnaute Nouveau
Re : Ajouter une colonne & des données auto sur plusieurs fichiers CSV "à la volée"

Bonjour Gosselien,

J'ai ajouté 2 fichiers.
L'idée est de récupérer un seul fichier comportant :
Titre du fichier excelSite associé
annuaire-voiture.comvoiture.com
annuaire-voiture.comVoiture-rouge.com
annuaire-auto.comvoiture-verte.com
annuaire-auto.comvoiture-2.com

Un grand merci par avance ;)
 

Pièces jointes

  • annuaire-auto.com.xlsx
    7.9 KB · Affichages: 30
  • annuaire-voiture.com.xlsx
    7.9 KB · Affichages: 26

excelium

XLDnaute Nouveau
Re : Ajouter une colonne & des données auto sur plusieurs fichiers CSV "à la volée"

Hello Tatiak,

Merci pour ces fichiers ;)
C'est parfait à une exception, seul azerty.csv est "importé" quand je clique sur "import" du fichier import_csv,

Saurais-tu pourquoi ?

Merci encore en tout cas ;)
 

excelium

XLDnaute Nouveau
Re : Ajouter une colonne & des données auto sur plusieurs fichiers CSV "à la volée"

Bonjour Tatiak,
Ton exemple fonctionne en effet.
J'ai donc remplacé tes CSV par les miens (j'en ai mis 2 pour tester), mais cela ne fonctionne pas.
Quand je clique sur "import", j'ai une ligne qui apparaît (elle est bonne, avec titre dans la colonne fichier & un élément du fichier) mais le processus bloque en me disant "Erreur d'exécution '9' : l'indice n'appartient pas à la sélection."

Edit : en cliquant sur "debug", il m'ouvre la macro et me surligne la ligne suivante : "ActiveSheet.Cells(i + derlig, j + 2) = RcdSt(j, i)"

Sais-tu d'où peut venir cette erreur ?

Merci d'avance ;)
 

Efgé

XLDnaute Barbatruc
Re : Ajouter une colonne & des données auto sur plusieurs fichiers CSV "à la volée"

Bonjour à tous

Juste de passage.
Une proposition : Mettre le classeur ci joint dans le dossier où se trouvent les csv a traiter.
Cliquer sur le bouton.
Cela crée un fichier .TXT , les CSV sont des TXT déguisés, et cela peut résoudre un possible problème de nombre de lignes maximum atteint ou même dépassé.

Cordialement
 

Pièces jointes

  • Classeur1.xlsm
    19.4 KB · Affichages: 67
  • Classeur1.xlsm
    19.4 KB · Affichages: 56

excelium

XLDnaute Nouveau
Re : Ajouter une colonne & des données auto sur plusieurs fichiers CSV "à la volée"

Ah dsl, on s'est un peu téléscopé ^^
En fait, je ne souhaite pas "fusionner" les fichiers mais faire une fusion qui ajoute aussi une colonne avec le titre de chacun d'entre-eux sur chacune des lignes :s
 

Efgé

XLDnaute Barbatruc
Re : Ajouter une colonne & des données auto sur plusieurs fichiers CSV "à la volée"

Tu as essayé mon exemple ?
C'est bien ce qu'il fait : ajout en premier champ du nom du fichier source puis le ou les champs du fichier.

Sans titre.png
Cordialement
 

Pièces jointes

  • Sans titre.png
    Sans titre.png
    32.1 KB · Affichages: 106

excelium

XLDnaute Nouveau
Re : Ajouter une colonne & des données auto sur plusieurs fichiers CSV "à la volée"

Re,

Parfait ^^
Désolé, je n'avais pas regardé le .txt en pensant qu'il n'avait fait que "fusionner l'ensemble des lignes des fichiers, points".

Merci beaucoup à ce forum, cette communauté & Pag & Efgé ;)
 

Discussions similaires

Réponses
30
Affichages
1 K
Réponses
10
Affichages
317

Statistiques des forums

Discussions
312 231
Messages
2 086 450
Membres
103 214
dernier inscrit
MASSA1616