Diviser un fichier en fichier de 1000 lignes avec un nom différent

Pygos691

XLDnaute Nouveau
Bonjour,

J'ai un fichier au format csv (excel avec point virgule), qui contient 780000 lignes que je désire diviser en fichiers de 1000 lignes chacun....

Chaque fichier devra garder le même titre de colonnes et le même format "Texte" - colonne A.

Ci-joint un fichier de 3000 lignes...


Merci d'avance,
 

Pièces jointes

  • ARR3000.xlsx
    118 KB · Affichages: 69

Marc L

XLDnaute Occasionnel

Essayer de joindre le fichier original renommé en .txt
et s'il est trop gros, le réduire à trois / quatre milliers de lignes …

VBA & VBScript étant cousins de VB, l'adaptation ne devrait pas être difficile !

Préciser aussi si c'est toujours le même fichier source qu'il faut modifier
ou s'il vaut mieux le sélectionner dans une boîte de dialogue;
bref, plus il y a de détails, mieux c'est …
 
Dernière édition:

Pygos691

XLDnaute Nouveau
Re : Diviser un fichier en fichier de 1000 lignes avec un nom différent

Avec le fichier joint, (xls), pouvez-vous me faire une macro qui comptabilise les lignes et qui sauvegarde les données sous un nouveau nom toutes les 1000 lignes ?

Oublions le problème de format (csv, xls, txt)........ Merci !
 

Roland_M

XLDnaute Barbatruc
Re : Diviser un fichier en fichier de 1000 lignes avec un nom différent

bonjour,

reprenons ton souhait premier:

tu as un fichier.csv qui contient plusieurs milliers de lignes !?
tu veux pouvoir lire ce fichier est recopier le contenu en plusieurs fichiers de mille lignes+entête
entête qui sera toujours la même au début de chaque fichier de mille lignes

alors je te propose la macro suivante:
une boite de dialogue pour toi sélectionner ce fichier csv
je fais une routine qui va lire ce fichier et créer les fichiers par 1000 lignes+entête
ceci dans le même répertoire que le fichier.csv source !


j'ai besoin de savoir, d'une si c'est bien ça ?
ensuite le format est bien celui en exemple dans l'xls que tu as joint ?
et puis j'ai besoin du nom des fichiers créés qui je suppose seront numérotés ?
 

Roland_M

XLDnaute Barbatruc
Re : Diviser un fichier en fichier de 1000 lignes avec un nom différent

re

bon je regarde à ça !
je vais faire un essai avec les données de ton fichier xls
je ferai des créations de fichiers de 100 lignes pour voir si tout est ok !?
à tout à l'heure !
 

Roland_M

XLDnaute Barbatruc
Re : Diviser un fichier en fichier de 1000 lignes avec un nom différent

re, bonjour à tous,

voilà la routine en question ! si tu veux tester !? je l'ai enregistré au format xls
n'oublies pas que les fichiers seront créés dans le même répertoire que le fichier.csv source !
si tu en as beaucoup, et apparemment oui, je te conseille de créer un répertoire avec seulement ton fichier.csv avec tous ceux qui y seront créés ! mais ça c'est à toi de voir !?

j'ai fais un essai avec tes données dans ton xlsx que j'ai sauvé en toto.csv
et après avoir lancer la macro j'avais toto1.csv toto2.csv toto3.csv
avec chacun la même entête et les 1000 lignes de données soit 1001 lignes
c'est très rapide !

lorsqu'on veux charger les fichiers dans excel il faut formater les cellules !
ici la colonne A doit être au format texte sinon les valeurs sont trop grandes à afficher !
 

Pièces jointes

  • DispacherFichierCsv_Rol_M.xls
    34.5 KB · Affichages: 33
Dernière édition:

Marc L

XLDnaute Occasionnel
Avec le fichier joint, (xls), pouvez-vous me faire une macro qui comptabilise les lignes et qui sauvegarde les données sous un nouveau nom toutes les 1000 lignes ?

Oublions le problème de format (csv, xls, txt)........ Merci !
Oui mais ce n'est pas le plus efficace, autant travailler directement sur la source …
Différentes méthodes, pour l'instant après des moulinettes pour des centaines de fichiers texte différents,
en VBA / VBS je n'ai pas trouvé mieux qu'ADODB question rapidité …
 

Roland_M

XLDnaute Barbatruc
Re : Diviser un fichier en fichier de 1000 lignes avec un nom différent

re

oui Marc, ce que tu dis est certainement vrai, mais je ne vois pas l'ombre d'un code dans tout ça !?
et ça ne solutionne pas son problème, comprends tu !?

au bout d'un moment il faut tout de même faire des propositions, non !?
je pense que ma macro fera parfaitement l'affaire !
 

Discussions similaires

Statistiques des forums

Discussions
312 396
Messages
2 088 039
Membres
103 706
dernier inscrit
lolaLb02