nayd_garlenn
XLDnaute Nouveau
Bonjour à tous
Je cherche à transformer des fichiers excel contenant plusieurs onglets en autant de fichiers plats pour pouvoir ensuite les traiter.
J'ai déjà un début de macro mais je ne peux la lancer que du fichier a traiter et donc je ne trouve pas comment automatiser la méthode.
- les fichiers sont toujours dans le même répertoire
- ils ont toujours 2 ou 3 onglets
Ce que j'essai de faire c'est par exemple de fournir une liste des fichiers à traiter (dans un fichier ne contenant que ça) , de lancer une macro qui irai chercher les fichiers en questions et qui les séparerait en autant de fichiers csv
par exemple, je fournie une liste des fichiers à traiter :
- fichier1.xlsx
- fichier2.xlsx
- (...)
je lance la macro et cela exporterai
- fichier1_onglet1.csv
- fichier1_onglet2.csv
- fichier2_onglet1.csv
- fichier2_onglet2.csv
- (...)
le début de macro que j'ai c'est :
------
Sub saveOnglet()
Dim ws
Dim newWk As Workbook
For Each ws In Worksheets
Set newWk = Workbooks.Add(xlWBATWorksheet)
ws.Copy newWk.Sheets(1)
newWk.SaveAs (ws.Name & ".xls")
newWk.Close
Set newWk = Nothing
Next ws
End Sub
--------
si vous avez des idées je suis ouvert à toutes les pistes
merci et bonne journée à tous
Je cherche à transformer des fichiers excel contenant plusieurs onglets en autant de fichiers plats pour pouvoir ensuite les traiter.
J'ai déjà un début de macro mais je ne peux la lancer que du fichier a traiter et donc je ne trouve pas comment automatiser la méthode.
- les fichiers sont toujours dans le même répertoire
- ils ont toujours 2 ou 3 onglets
Ce que j'essai de faire c'est par exemple de fournir une liste des fichiers à traiter (dans un fichier ne contenant que ça) , de lancer une macro qui irai chercher les fichiers en questions et qui les séparerait en autant de fichiers csv
par exemple, je fournie une liste des fichiers à traiter :
- fichier1.xlsx
- fichier2.xlsx
- (...)
je lance la macro et cela exporterai
- fichier1_onglet1.csv
- fichier1_onglet2.csv
- fichier2_onglet1.csv
- fichier2_onglet2.csv
- (...)
le début de macro que j'ai c'est :
------
Sub saveOnglet()
Dim ws
Dim newWk As Workbook
For Each ws In Worksheets
Set newWk = Workbooks.Add(xlWBATWorksheet)
ws.Copy newWk.Sheets(1)
newWk.SaveAs (ws.Name & ".xls")
newWk.Close
Set newWk = Nothing
Next ws
End Sub
--------
si vous avez des idées je suis ouvert à toutes les pistes
merci et bonne journée à tous