Ventiler mon fichier .csv en plusieurs fichiers .csv

  • Initiateur de la discussion Initiateur de la discussion Viparis
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

V

Viparis

Guest
Bonjour,

Je possède un fichier CSV d'une colonne qui contient plus de 5000 lignes et je voudrais créer des nouveaux fichiers CSV avec 249 lignes max à chaque fois dans chaque fichiers. Je n'arrive pas à trouver de solutions à part le faire à la main.. autant dire que c'est un travail pire que laborieux.

Merci d'avance à ceux qui m'aideront !

Bonne journée 🙂
ViParis
 
Re : Ventiler mon fichier .csv en plusieurs fichiers .csv

Bonsoir à tous

Viparis (bienvenue sur le forum)
Voici une façon de faire ce que tu souhaites (ou presque)
NB:Test OK sur mon PC
Code VB:
Sub Sheets2CSV()
Dim dl&, i&, p As Range, sPath$
sPath = "C:\Temp\" 'ici adapte le nom du répertoire
dl = Cells(Rows.Count, 1).End(xlUp).Row
Application.ScreenUpdating = False
'j'ai mis 25 pour mon test
'donc remplace le 25 par 250 dans les deux lignes suivantes
For i = 1 To dl Step 25
Set p = Cells(i, 1).Resize(25)
Workbooks.Add xlWBATWorksheet
p.Copy ActiveWorkbook.Sheets(1).Range("A1")
Application.CutCopyMode = False
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs sPath & "Fichier" & i, xlCSV
ActiveWorkbook.Close True
Set p = Nothing
Next i
End Sub
 
Re : Ventiler mon fichier .csv en plusieurs fichiers .csv

Merci beaucoup pour ta réactivité et ton aide pour mon problème Staple1600 🙂

Le script marche très bien !
Petite question au niveau de la finalisation du script. Comment faire pour que la génération des fichiers découpés reprennent le nom du fichier original en y ajoutant de manière incrémental "_X" pour donner "_1" puis "_2", "_3", etc..
 
Re : Ventiler mon fichier .csv en plusieurs fichiers .csv

Bonsoir à tous

Viparis
Cela te convient-il?
VB:
Sub Sheets2CSVB()
Dim dl&, i&, j&, p As Range, sPath$
 sPath = "C:\Temp\" 'ici adapte le nom du répertoire
dl = Cells(Rows.Count, 1).End(xlUp).Row
 Application.ScreenUpdating = False
'j'ai mis 25 pour mon test
'donc remplace le 25 par 250 dans les deux lignes suivantes
j = 1
For i = 1 To dl Step 25
Set p = Cells(i, 1).Resize(25)
 Workbooks.Add xlWBATWorksheet
 p.Copy ActiveWorkbook.Sheets(1).Range("A1")
 Application.CutCopyMode = False
 Application.DisplayAlerts = False
 ActiveWorkbook.SaveAs sPath & "Fichier_" & j, xlCSV
 ActiveWorkbook.Close True
Set p = Nothing
j = j + 1
Next i
End Sub
 
Re : Ventiler mon fichier .csv en plusieurs fichiers .csv

Staple1600 la nouvelle macro ne fonctionne plus, elle ne créée pas assez de fichier et sélectionne juste une colonne
 
Dernière modification par un modérateur:
Re : Ventiler mon fichier .csv en plusieurs fichiers .csv

Bonsoir à tous

Viparis
Si la première version marchait, pourquoi la seconde ne marcherait-elle pas?

De plus tu disais dans ton premier message
Je possède un fichier CSV d'une colonne qui contient plus de 5000 lignes
J'ai donc créer mes macros en conséquence...

PS: Je viens de retester la seconde macro sur mon PC. Et elle fonctionne comme la première fois 😉
car généralement je teste mes codes avant de les poster sur le forum...
 
Dernière édition:
Re : Ventiler mon fichier .csv en plusieurs fichiers .csv

Oui elle fonctionne bel et bien, désolé pour ma précipitation..
Mon erreur vient du fait que j'ai fait un essai sur un CSV avec plusieurs colonnes.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
19
Affichages
761
  • Question Question
Microsoft 365 CSV en EXCEL
Réponses
1
Affichages
198
Réponses
7
Affichages
524
D
  • Question Question
2
Réponses
28
Affichages
2 K
Deleted member 441486
D
Réponses
8
Affichages
855
Retour