|
Bonjour à tous, J'utilise des macros assez régulièrement tout en y connaissant pas grand chose (j'ai commencé à trifouiller ça depuis 2 mois)
En ce moment, je bascule beaucoup de "classeurs année" en nouveaux classeurs où les années deviennent les variables colonnes. Je fais donc quasi-exclusivement du copier-coller avec le même code appliqué pour chaque "classeur année" et des lignes d'arrivées distinctes dans un nouveau classeur; Comment simplifier donc cet exemple de code (je l'ai allégé de plein de détails de mon côté) pour éviter de retaper à chaque fois les différentes années et les petites modifictions de la ligne de "collage"
'' 2003 Windows("Autres.xls").Activate Windows("France_2003.xls").Activate Sheets("Juridi-sexage").Select Range("M9:M26").Select Selection.Copy Windows("Autres.xls").Activate Sheets("chefs selon jur-sexe").Select Range("C6").Select Selection.Paste
'' 2004 Windows("Autres.xls").Activate Windows("France_2004.xls").Activate Sheets("Juridi-sexage").Select Range("M9:M26").Select Selection.Copy Windows("Autres.xls").Activate Sheets("chefs selon jur-sexe").Select Range("C7").Select Selection.Paste
'' 2005 Windows("Autres.xls").Activate Windows("France_2005.xls").Activate Sheets("Juridi-sexage").Select Range("M9:M26").Select Selection.Copy Windows("Autres.xls").Activate Sheets("chefs selon jur-sexe").Select Range("C8").Select Selection.Paste
'' 2006 Windows("Autres.xls").Activate Windows("France_2006.xls").Activate Sheets("Juridi-sexage").Select Range("M9:M26").Select Selection.Copy Windows("Autres.xls").Activate Sheets("chefs selon jur-sexe").Select Range("C9").Select Selection.Paste
'' 2007 Windows("Autres.xls").Activate Windows("France_2007.xls").Activate Sheets("Juridi-sexage").Select Range("M9:M26").Select Selection.Copy Windows("Autres.xls").Activate Sheets("chefs selon jur-sexe").Select Range("C10").Select Selection.Paste
Merci beaucoup ! |
 Viconaute Modérateur |
Bonjour Kamkam33 ,
Pour moi, je crois que ça serait quelque chose comme ça:
ThisWorkbook.Worksheets("Juridi-sexage").Range("M9:M29").Select
Selection.Copy Destination:=Worksheets("chefs selon jur-sexe").Range("C6")
Je suis sur qu'avec un Userform, tu serais en mesure de simplifier les choses encore plus.
Je remarque que t'a formule change pour chaque année.
Est-ce normal? --

|
|
Merci, mais j'ai réussi à trouver la réponse ! (qqun m'a aidé) C'est normal que la formule change, sinon, je recopier tout le temps dans la même case..!
Dim i as integer For i = 1 To 5 Workbooks("France_" & 2002 + i & ".xls").Worksheets("Juridi-sexage").Range("M9:M26").Copy Workbooks("Autres.xls").Worksheets("chefs selon jure-sexe").Range("C" & i + 5) Next i
Bonne journée ! |