Boucle dans une macro

Résolu
azertyh Messages postés 121 Date d'inscription   Statut Membre Dernière intervention   -  
tobas Messages postés 210 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

j'ai besoin d'aide pour améliorer ma macro suivante :

Sub création_article()
'
' création_article Macro
' permet de créer les fichiers csv pour la création d'articles renaissance
'

'
Sheets("données").Select
Range("C9").Select
ActiveCell.FormulaR1C1 = "'01"

ChDir "C:\Users\heri101440\Documents\star\import_rencs\01"

Sheets("gl_accounts_new").Select
ActiveWorkbook.SaveAs Filename:="gl_accounts_new.csv", FileFormat:=xlCSV, CreateBackup:=False, local:=True

Sheets("gl_short_codes").Select
ActiveWorkbook.SaveAs Filename:="gl_short_codes.csv", FileFormat:=xlCSV, CreateBackup:=False, local:=True

Sheets("product_master_new").Select
ActiveWorkbook.SaveAs Filename:="product_master_new.csv", FileFormat:=xlCSV, CreateBackup:=False, local:=True

Sheets("product_warehouse_new").Select
ActiveWorkbook.SaveAs Filename:="product_warehouse_new.csv", FileFormat:=xlCSV, CreateBackup:=False, local:=True

Sheets("ic_product_status_new").Select
ActiveWorkbook.SaveAs Filename:="ic_product_status_new.csv", FileFormat:=xlCSV, CreateBackup:=False, local:=True

Sheets("sales_prices").Select
ActiveWorkbook.SaveAs Filename:="sales_prices.csv", FileFormat:=xlCSV, CreateBackup:=False, local:=True

Sheets("sales_price_lines").Select
ActiveWorkbook.SaveAs Filename:="sales_price_lines.csv", FileFormat:=xlCSV, CreateBackup:=False, local:=True

Sheets("str_profil_part_codes").Select
ActiveWorkbook.SaveAs Filename:="str_profil_part_codes.csv", FileFormat:=xlCSV, CreateBackup:=False, local:=True

Sheets("ic_product_master_units").Select
ActiveWorkbook.SaveAs Filename:="ic_product_master_units.csv", FileFormat:=xlCSV, CreateBackup:=False, local:=True

Sheets("part_uom_conversions").Select
ActiveWorkbook.SaveAs Filename:="part_uom_conversions.csv", FileFormat:=xlCSV, CreateBackup:=False, local:=True

Sheets("product_groups").Select
ActiveWorkbook.SaveAs Filename:="product_groups.csv", FileFormat:=xlCSV, CreateBackup:=False, local:=True

Sheets("sf_brands").Select
ActiveWorkbook.SaveAs Filename:="sf_brands.csv", FileFormat:=xlCSV, CreateBackup:=False, local:=True

Sheets("données").Select
Range("C9").Select
ActiveCell.FormulaR1C1 = "'04"

ChDir "C:\Users\heri101440\Documents\star\import_rencs\04"

Sheets("gl_accounts_new").Select
ActiveWorkbook.SaveAs Filename:="gl_accounts_new.csv", FileFormat:=xlCSV, CreateBackup:=False, local:=True

Sheets("gl_short_codes").Select
ActiveWorkbook.SaveAs Filename:="gl_short_codes.csv", FileFormat:=xlCSV, CreateBackup:=False, local:=True

Sheets("product_master_new").Select
ActiveWorkbook.SaveAs Filename:="product_master_new.csv", FileFormat:=xlCSV, CreateBackup:=False, local:=True

Sheets("product_warehouse_new").Select
ActiveWorkbook.SaveAs Filename:="product_warehouse_new.csv", FileFormat:=xlCSV, CreateBackup:=False, local:=True

Sheets("ic_product_status_new").Select
ActiveWorkbook.SaveAs Filename:="ic_product_status_new.csv", FileFormat:=xlCSV, CreateBackup:=False, local:=True

Sheets("sales_prices").Select
ActiveWorkbook.SaveAs Filename:="sales_prices.csv", FileFormat:=xlCSV, CreateBackup:=False, local:=True

Sheets("sales_price_lines").Select
ActiveWorkbook.SaveAs Filename:="sales_price_lines.csv", FileFormat:=xlCSV, CreateBackup:=False, local:=True

Sheets("str_profil_part_codes").Select
ActiveWorkbook.SaveAs Filename:="str_profil_part_codes.csv", FileFormat:=xlCSV, CreateBackup:=False, local:=True

Sheets("ic_product_master_units").Select
ActiveWorkbook.SaveAs Filename:="ic_product_master_units.csv", FileFormat:=xlCSV, CreateBackup:=False, local:=True

Sheets("part_uom_conversions").Select
ActiveWorkbook.SaveAs Filename:="part_uom_conversions.csv", FileFormat:=xlCSV, CreateBackup:=False, local:=True

Sheets("product_groups").Select
ActiveWorkbook.SaveAs Filename:="product_groups.csv", FileFormat:=xlCSV, CreateBackup:=False, local:=True

Sheets("sf_brands").Select
ActiveWorkbook.SaveAs Filename:="sf_brands.csv", FileFormat:=xlCSV, CreateBackup:=False, local:=True

End Sub

ce code crée ces fichiers .csv dans les 2 répertoires 01 et 04 (01 et 04 étant des codes d'établissements), mais comme il y a encore 14 autres établissements, ma macro sera très longue.

comment faire pour créer une boucle, et à chaque boucle, on change la cellule C9 et le répertoire de destination?

merci d'avance.



A voir également:

4 réponses

tobas Messages postés 210 Date d'inscription   Statut Membre Dernière intervention   24
 
Bonjour,
tu peut mettre un fichier exemple ?
il faut voir si tes feuilles se suivent?
les codes établissement aussi
0
azertyh Messages postés 121 Date d'inscription   Statut Membre Dernière intervention   21
 
les feuilles se suivent comme dans ma macro, en commençant par données, ensuite gl_accounts_new, et ainsi de suite.
les codes sont 01, 04, 05, 06, 07, 08, 09, 11, 12, 13, 17, 19, 21, 23, 24, 25.
0
tobas Messages postés 210 Date d'inscription   Statut Membre Dernière intervention   24
 
code à tester

Sub création_article()
'
' création_article Macro
' permet de créer les fichiers csv pour la création d'articles renaissance
'

Dim CodeEta As Variant
Dim Onglet As String
CodeEta = Array("01", "04", "05", "06", "07", "08", "09", "11", "12", "13", "17", "19", "21", "23", "24", "25")
Sheets("données").Select
Range("C9").Select
For i = 0 To 16
ActiveCell.FormulaR1C1 = "'" & CodeEta(i)

ChDir "C:\Users\heri101440\Documents\star\import_rencs\" & CodeEta(i)
For j = 2 To 13

Sheets(j).Select
Onglet = ActiveWorkbook.ActiveSheet.Name & ".csv"

ActiveWorkbook.SaveAs Filename:=Onglet, FileFormat:=xlCSV, CreateBackup:=False, local:=True
Next j
Next i

End Sub

0
azertyh Messages postés 121 Date d'inscription   Statut Membre Dernière intervention   21
 
c'est bon après 2 petites rectifications :
- j'ai mis sheets("donnée").select et range("c9").select après for i=0 ... sinon c'est la cellule qui a le curseur qui change de 01, 04, etc.
- et 16 en 15, puisque si la numérotation commence par 0, elle se termine par 15.

merci. super.
0
tobas Messages postés 210 Date d'inscription   Statut Membre Dernière intervention   24
 
ravi de t'avoir aidé
0