VBA Excel: Regrouper les données de fichiers en un seul
Résolu
Alice
-
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je travaille sur Excel 2010 sur plusieurs fichiers composés de la même manière, qui me parviennent de part et d'autre, et que j'enregistre dans le même dossier. La seule chose qui les différencie est leur nombre de lignes, aléatoire.
J'aimerais simplement pouvoir regrouper les lignes de données de tous les fichiers dans une même feuille Excel par l'exécution d'une macro; est-ce réalisable?
Je vous en remercie par avance!
Je travaille sur Excel 2010 sur plusieurs fichiers composés de la même manière, qui me parviennent de part et d'autre, et que j'enregistre dans le même dossier. La seule chose qui les différencie est leur nombre de lignes, aléatoire.
J'aimerais simplement pouvoir regrouper les lignes de données de tous les fichiers dans une même feuille Excel par l'exécution d'une macro; est-ce réalisable?
Je vous en remercie par avance!
A voir également:
- VBA Excel: Regrouper les données de fichiers en un seul
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel compter cellule couleur sans vba - Guide
6 réponses
Re,
fichier a mettre dans repertoire des csv
j'ai mis 300 colonnes et debut des donnees ligne 6 (ca peut se modifier)
https://www.cjoint.com/c/DCuiQX2bFtD
les donnees arrivent, par fichier vu, dans feuil1 et sont copiees dans Datas automatiquement apres click sur bouton Recuperation Fichiers
Efface Donnees: efface tout dans Datas
A+
fichier a mettre dans repertoire des csv
j'ai mis 300 colonnes et debut des donnees ligne 6 (ca peut se modifier)
https://www.cjoint.com/c/DCuiQX2bFtD
les donnees arrivent, par fichier vu, dans feuil1 et sont copiees dans Datas automatiquement apres click sur bouton Recuperation Fichiers
Efface Donnees: efface tout dans Datas
A+
Bonjour Alice,
Nous allons faire en sorte que votre demande soit realisee.
Dans le fichier que vous avez lis a dispo, il y a des anomalies, les donnees commence a la sixieme ligne pas a la cinquieme
1 LPGP;01/01/2014;2472;5;;
2 Renseignements principaux;;;;;
3 ;Entête 3;;;;
4 ;;Entête 4;;Entête 5;
5 Colonne A;Colonne B;Colonne C;Colonne D;Colonne E;Colonne F
6 6A;6B;6C;6D;6E;6F
7 7A;7B;7C;7D;7E;7F
8 8A;8B;8C;8D;8E;8F
9 9A ;9B;9C;9D;9E;9F
Serait-il possible d'avoir un "vrai" fichier. Si probleme vous pouvez passer par les message prive.
A+
Nous allons faire en sorte que votre demande soit realisee.
Dans le fichier que vous avez lis a dispo, il y a des anomalies, les donnees commence a la sixieme ligne pas a la cinquieme
1 LPGP;01/01/2014;2472;5;;
2 Renseignements principaux;;;;;
3 ;Entête 3;;;;
4 ;;Entête 4;;Entête 5;
5 Colonne A;Colonne B;Colonne C;Colonne D;Colonne E;Colonne F
6 6A;6B;6C;6D;6E;6F
7 7A;7B;7C;7D;7E;7F
8 8A;8B;8C;8D;8E;8F
9 9A ;9B;9C;9D;9E;9F
Serait-il possible d'avoir un "vrai" fichier. Si probleme vous pouvez passer par les message prive.
A+
Bonjour,
Hélas, toutes les données contenues sont confidentielles, ce qui m'empêche de transmettre un fichier réel, même en privé.
Pour le problème de la ligne en trop, commencez la copie à la sixième ligne, ce n'est pas bien grave.
Si cela peut être plus simple pour vous, ci-joint le même fichier (sans la première ligne) au format ".xlsx" (Excel 2007): http://cjoint.com/?DCttGubyrZf Je me chargerai de convertir les .csv en .xlsx.
Merci encore
Hélas, toutes les données contenues sont confidentielles, ce qui m'empêche de transmettre un fichier réel, même en privé.
Pour le problème de la ligne en trop, commencez la copie à la sixième ligne, ce n'est pas bien grave.
Si cela peut être plus simple pour vous, ci-joint le même fichier (sans la première ligne) au format ".xlsx" (Excel 2007): http://cjoint.com/?DCttGubyrZf Je me chargerai de convertir les .csv en .xlsx.
Merci encore
Bonjour Polux31,
Pas tt à fait car je ne souhaite pas déplacer une feuille mais simplement son contenu.
Exemple: le fichier A comporte 8 lignes, le fichier B: 12 lignes et le fichier C: 4 lignes: j'attends de la macro que dans une même feuille soient copiées en lignes 1 à 8 celles du fichier A, puis en 9 à 21 les 12 lignes du fichier B et en lignes 22 à 26 les 4 lignes du fichier C, et ce, autant de fois qu'il y a de classeurs dans le dossier sachant que chaque classeur ne comportera qu'une feuille.
Si au passage on pouvait reprendre les lignes des entêtes uniquement du premier fichier collé, ce sera génial.
Merci!
Pas tt à fait car je ne souhaite pas déplacer une feuille mais simplement son contenu.
Exemple: le fichier A comporte 8 lignes, le fichier B: 12 lignes et le fichier C: 4 lignes: j'attends de la macro que dans une même feuille soient copiées en lignes 1 à 8 celles du fichier A, puis en 9 à 21 les 12 lignes du fichier B et en lignes 22 à 26 les 4 lignes du fichier C, et ce, autant de fois qu'il y a de classeurs dans le dossier sachant que chaque classeur ne comportera qu'une feuille.
Si au passage on pouvait reprendre les lignes des entêtes uniquement du premier fichier collé, ce sera génial.
Merci!
Bonjour,
Effectivement, comme le dit Polux (Bonjour), il y a une Alice qui a posé un problème proche... espèrons que...
c'est possible mais il faut nous en dire plus
1/Apparemment, les fichiers source sont des listes de données: vrai ou faux ?
2/dans le dossier source, les fichiers sont ils les seuls à ^tre exportés, sinon ont ils un nom générique (par exemple: toto1 à Toto N générique: toto) ?
3/Combien de fichiers à exporter ?
4/moyenne du nombre de lignes / fichier ?
5/ta Version XL ?
Pour évaluer une solution, il faudrait joindre un exemple de fichier
dans l'attente
Effectivement, comme le dit Polux (Bonjour), il y a une Alice qui a posé un problème proche... espèrons que...
c'est possible mais il faut nous en dire plus
1/Apparemment, les fichiers source sont des listes de données: vrai ou faux ?
2/dans le dossier source, les fichiers sont ils les seuls à ^tre exportés, sinon ont ils un nom générique (par exemple: toto1 à Toto N générique: toto) ?
3/Combien de fichiers à exporter ?
4/moyenne du nombre de lignes / fichier ?
5/ta Version XL ?
Pour évaluer une solution, il faudrait joindre un exemple de fichier
pour joindre une pièce
mettre le classeur sans données confidentielles en pièce jointe sur
http://cjoint.com/
puis copier l'adresse du lien et la coller dans le message de réponse
dans l'attente
Bonjour Michel,
J'ai beau avoir cherché sur le net et plus précisément sur ce site, je n'ai rien trouvé ne répondant exactement à ma demande; et te confirme ne pas être à l'origine de la demande que tu aurais pu voir.
Pour te répondre:
1/ les fichiers source sont tous des listes de données constituées de la même manière à savoir que les intitulés de colonnes sont les mêmes et que les données commencent en lignes 5 et s'étendent jusqu'à la fin.
2/ dans le dossier source se trouveront d'autres fichiers mais les classeurs de données seront les seuls à comporter une extension en ".csv".
3/ le nombre de fichiers concernés devrait varier entre 15 et 150, sachant qu'il sera ds 90% des cas compris entre 15 et 60.
4/ chaque classeur devrait comporter en moyenne 250 lignes mais une fois sur dix environ, un fichier sera vide et ne comportera que les intitulés de colonnes; dans ce cas il n'y aura rien à copier. Le nombre de colonnes devrait avoisiner les 300.
5/ ma version d'Excel est la 2010.
J'ai joint un fichier exemple accessible via ce lien: http://cjoint.com/?DCtiPGrNavf
Merci encore!
J'ai beau avoir cherché sur le net et plus précisément sur ce site, je n'ai rien trouvé ne répondant exactement à ma demande; et te confirme ne pas être à l'origine de la demande que tu aurais pu voir.
Pour te répondre:
1/ les fichiers source sont tous des listes de données constituées de la même manière à savoir que les intitulés de colonnes sont les mêmes et que les données commencent en lignes 5 et s'étendent jusqu'à la fin.
2/ dans le dossier source se trouveront d'autres fichiers mais les classeurs de données seront les seuls à comporter une extension en ".csv".
3/ le nombre de fichiers concernés devrait varier entre 15 et 150, sachant qu'il sera ds 90% des cas compris entre 15 et 60.
4/ chaque classeur devrait comporter en moyenne 250 lignes mais une fois sur dix environ, un fichier sera vide et ne comportera que les intitulés de colonnes; dans ce cas il n'y aura rien à copier. Le nombre de colonnes devrait avoisiner les 300.
5/ ma version d'Excel est la 2010.
J'ai joint un fichier exemple accessible via ce lien: http://cjoint.com/?DCtiPGrNavf
Merci encore!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour à tous,
Les fichiers .csv sont tous dans le même répertoire ?
Cette opération de regroupement se fait quotidiennement, hebdomadairement, mensuellement etc ... ? Que fait-on des fichiers .cvs traités ?
Comment doit se déclencher le regroupement ? Par un bouton, à l'ouverture du fichier principal ?
Les fichiers .csv sont tous dans le même répertoire ?
Cette opération de regroupement se fait quotidiennement, hebdomadairement, mensuellement etc ... ? Que fait-on des fichiers .cvs traités ?
Comment doit se déclencher le regroupement ? Par un bouton, à l'ouverture du fichier principal ?
Bonjour Polux31,
Je te remercie de te pencher sur ma problématique. Pour te répondre, les fichiers sont tous dans le répertoire, oui.
Les opérations de regroupement se font à différentes fréquences, à savoir bimensuellement, mensuellement, bimestriellement et semestriellement, mais à chaque fois sera créé un nouveau répertoire ne contenant que les fichiers de la période à traiter. Les fichiers.csv traités restent dans le même répertoire, ça ne gêne pas.
Le regroupement pourrait se déclencher par la pression d'un bouton situé dans le fichier destinataire, ce serait très bien, oui (mais pas automatiquement).
Merci encore!
Je te remercie de te pencher sur ma problématique. Pour te répondre, les fichiers sont tous dans le répertoire, oui.
Les opérations de regroupement se font à différentes fréquences, à savoir bimensuellement, mensuellement, bimestriellement et semestriellement, mais à chaque fois sera créé un nouveau répertoire ne contenant que les fichiers de la période à traiter. Les fichiers.csv traités restent dans le même répertoire, ça ne gêne pas.
Le regroupement pourrait se déclencher par la pression d'un bouton situé dans le fichier destinataire, ce serait très bien, oui (mais pas automatiquement).
Merci encore!
Bonjour Polux31,
Alice: alors juste une question, les fichiers ont tous le meme nombre de colonnes et toujours ou c'est suivant ????
Repondez aussi aux questions de Polux31, parce que je vous les aurais posees par la suite, en dehors du repertoire puisque vous l'avez precise precedement.
A+
Alice: alors juste une question, les fichiers ont tous le meme nombre de colonnes et toujours ou c'est suivant ????
Repondez aussi aux questions de Polux31, parce que je vous les aurais posees par la suite, en dehors du repertoire puisque vous l'avez precise precedement.
A+
Re,
Merci, mais il me faut le nombre exacte de colonnes ou a defaut un nombre plus grand de colonne que la realite car j'ai une solution faites d'hier et j'ai juste a mettre le format par rapport a ces colonnes. Il y a d'autres solutions, mais celle-ci est tres simple pour fichier a colonnes connues et fixes
A+
Merci, mais il me faut le nombre exacte de colonnes ou a defaut un nombre plus grand de colonne que la realite car j'ai une solution faites d'hier et j'ai juste a mettre le format par rapport a ces colonnes. Il y a d'autres solutions, mais celle-ci est tres simple pour fichier a colonnes connues et fixes
A+
Après un premier test, le document semble parfaitement répondre à ma demande!
Merci énormément pour l'implication, la rapidité et la qualité du travail!
Verifiez qu'il ne vous manque pas la premiere ligne de chaque fichier puisque depart donnees pour moi 6 et vous 5.
Après vérification, je constate que la première ligne figure bien, mais si elle est amenée à changer, je modifierai en conséquence la ligne incriminée du code :
dans la procédure "Connexion".
Merci encore!
Bye