OVH Cloud OVH Cloud

répéter 250 foix une macro

2 réponses
Avatar
Daniel
Bonjour à tous

J'ai une macro que je voudrait qui exécute 250 fois.

Comment faire ? (cette exemple est de 19 fois )

Sub copie_un_a_L_autre ()
' Macro pour copier d'un fichier a l'autre
' (marquer les noms des fichiers et les cellules a copier )


'
Windows("Insp_demo.xls:1").Activate
Range("l9").Select
Windows("Hyacinthe.xls").Activate
Range("l9:n23").Select '1
Selection.Copy
Windows("Insp_demo.xls:1").Activate
ActiveSheet.Paste
Range("l49").Select
Windows("Hyacinthe.xls").Activate
Range("l49:n63").Select '2
Selection.Copy
Windows("Insp_demo.xls:1").Activate
ActiveSheet.Paste
Range("l89").Select
Windows("Hyacinthe.xls").Activate
Range("l89:n103").Select '3
Selection.Copy
Windows("Insp_demo.xls:1").Activate
ActiveSheet.Paste
Range("l129").Select
Windows("Hyacinthe.xls").Activate
Range("l129:n143").Select '4
Selection.Copy
Windows("Insp_demo.xls:1").Activate
ActiveSheet.Paste
Range("l169").Select
Windows("Hyacinthe.xls").Activate
Range("l169:n183").Select '5
Selection.Copy
Windows("Insp_demo.xls:1").Activate
ActiveSheet.Paste
Range("l209").Select
Windows("Hyacinthe.xls").Activate
Range("l209:n223").Select '6
Selection.Copy
Windows("Insp_demo.xls:1").Activate
ActiveSheet.Paste
Range("l249").Select
Windows("Hyacinthe.xls").Activate
Range("l249:n263").Select '7
Selection.Copy
Windows("Insp_demo.xls:1").Activate
ActiveSheet.Paste
Range("l289").Select
Windows("Hyacinthe.xls").Activate
Range("l289:n303").Select '8
Selection.Copy
Windows("Insp_demo.xls:1").Activate
ActiveSheet.Paste
Range("l329").Select
Windows("Hyacinthe.xls").Activate
Range("l329:n343").Select '9
Selection.Copy
Windows("Insp_demo.xls:1").Activate
ActiveSheet.Paste
Range("l369").Select
Windows("Hyacinthe.xls").Activate
Range("l369:n383").Select '10
Selection.Copy
Windows("Insp_demo.xls:1").Activate
ActiveSheet.Paste
Range("l409").Select
Windows("Hyacinthe.xls").Activate
Range("l409:n423").Select '11
Selection.Copy
Windows("Insp_demo.xls:1").Activate
ActiveSheet.Paste
Range("l449").Select
Windows("Hyacinthe.xls").Activate
Range("l449:n463").Select '12
Selection.Copy
Windows("Insp_demo.xls:1").Activate
ActiveSheet.Paste
Range("l489").Select
Windows("Hyacinthe.xls").Activate
Range("l489:n503").Select '13
Selection.Copy
Windows("Insp_demo.xls:1").Activate
ActiveSheet.Paste
Range("l529").Select
Windows("Hyacinthe.xls").Activate
Range("l529:n543").Select '14
Selection.Copy
Windows("Insp_demo.xls:1").Activate
ActiveSheet.Paste
Range("l569").Select
Windows("Hyacinthe.xls").Activate
Range("l569:n583").Select '15
Selection.Copy
Windows("Insp_demo.xls:1").Activate
ActiveSheet.Paste
Range("l609").Select
Windows("Hyacinthe.xls").Activate
Range("l609:n623").Select '16
Selection.Copy
Windows("Insp_demo.xls:1").Activate
ActiveSheet.Paste
Range("l649").Select
Windows("Hyacinthe.xls").Activate
Range("l649:n663").Select '17
Selection.Copy
Windows("Insp_demo.xls:1").Activate
ActiveSheet.Paste
Range("l689").Select
Windows("Hyacinthe.xls").Activate
Range("l689:n703").Select '18
Selection.Copy
Windows("Insp_demo.xls:1").Activate
ActiveSheet.Paste
Range("l729").Select
Windows("Hyacinthe.xls").Activate
Range("l729:n743").Select '19
Selection.Copy
Windows("Insp_demo.xls:1").Activate
ActiveSheet.Paste
Range("B3").Select
End Sub


Merci

2 réponses

Avatar
FxM
Bonsoir,

Non testé et pas optimisé pour deux sous :
Sub copie_un_a_L_autre()
Windows("Insp_demo.xls:1").Activate
For a = 1 To 250
Range("l" & (a - 1) * 40).Select
Windows("Hyacinthe.xls").Activate
Range("l" & (a - 1) * 40 & ":n" & ((a - 1) * 40)+23).Select
Selection.Copy
Windows("Insp_demo.xls:1").Activate
ActiveSheet.Paste
Next a
End Sub

@+
FxM





Daniel wrote:

Bonjour à tous

J'ai une macro que je voudrait qui exécute 250 fois.

Comment faire ? (cette exemple est de 19 fois )

Sub copie_un_a_L_autre ()
' Macro pour copier d'un fichier a l'autre
' (marquer les noms des fichiers et les cellules a copier )


'
Windows("Insp_demo.xls:1").Activate
Range("l9").Select
Windows("Hyacinthe.xls").Activate
Range("l9:n23").Select '1
Selection.Copy
Windows("Insp_demo.xls:1").Activate
ActiveSheet.Paste
Range("l49").Select
Windows("Hyacinthe.xls").Activate
Range("l49:n63").Select '2
Selection.Copy
Windows("Insp_demo.xls:1").Activate
ActiveSheet.Paste
Range("l89").Select
Windows("Hyacinthe.xls").Activate
Range("l89:n103").Select '3
Selection.Copy
Windows("Insp_demo.xls:1").Activate
ActiveSheet.Paste
Range("l129").Select
Windows("Hyacinthe.xls").Activate
Range("l129:n143").Select '4
Selection.Copy
Windows("Insp_demo.xls:1").Activate
ActiveSheet.Paste
Range("l169").Select
Windows("Hyacinthe.xls").Activate
Range("l169:n183").Select '5
Selection.Copy
Windows("Insp_demo.xls:1").Activate
ActiveSheet.Paste
Range("l209").Select
Windows("Hyacinthe.xls").Activate
Range("l209:n223").Select '6
Selection.Copy
Windows("Insp_demo.xls:1").Activate
ActiveSheet.Paste
Range("l249").Select
Windows("Hyacinthe.xls").Activate
Range("l249:n263").Select '7
Selection.Copy
Windows("Insp_demo.xls:1").Activate
ActiveSheet.Paste
Range("l289").Select
Windows("Hyacinthe.xls").Activate
Range("l289:n303").Select '8
Selection.Copy
Windows("Insp_demo.xls:1").Activate
ActiveSheet.Paste
Range("l329").Select
Windows("Hyacinthe.xls").Activate
Range("l329:n343").Select '9
Selection.Copy
Windows("Insp_demo.xls:1").Activate
ActiveSheet.Paste
Range("l369").Select
Windows("Hyacinthe.xls").Activate
Range("l369:n383").Select '10
Selection.Copy
Windows("Insp_demo.xls:1").Activate
ActiveSheet.Paste
Range("l409").Select
Windows("Hyacinthe.xls").Activate
Range("l409:n423").Select '11
Selection.Copy
Windows("Insp_demo.xls:1").Activate
ActiveSheet.Paste
Range("l449").Select
Windows("Hyacinthe.xls").Activate
Range("l449:n463").Select '12
Selection.Copy
Windows("Insp_demo.xls:1").Activate
ActiveSheet.Paste
Range("l489").Select
Windows("Hyacinthe.xls").Activate
Range("l489:n503").Select '13
Selection.Copy
Windows("Insp_demo.xls:1").Activate
ActiveSheet.Paste
Range("l529").Select
Windows("Hyacinthe.xls").Activate
Range("l529:n543").Select '14
Selection.Copy
Windows("Insp_demo.xls:1").Activate
ActiveSheet.Paste
Range("l569").Select
Windows("Hyacinthe.xls").Activate
Range("l569:n583").Select '15
Selection.Copy
Windows("Insp_demo.xls:1").Activate
ActiveSheet.Paste
Range("l609").Select
Windows("Hyacinthe.xls").Activate
Range("l609:n623").Select '16
Selection.Copy
Windows("Insp_demo.xls:1").Activate
ActiveSheet.Paste
Range("l649").Select
Windows("Hyacinthe.xls").Activate
Range("l649:n663").Select '17
Selection.Copy
Windows("Insp_demo.xls:1").Activate
ActiveSheet.Paste
Range("l689").Select
Windows("Hyacinthe.xls").Activate
Range("l689:n703").Select '18
Selection.Copy
Windows("Insp_demo.xls:1").Activate
ActiveSheet.Paste
Range("l729").Select
Windows("Hyacinthe.xls").Activate
Range("l729:n743").Select '19
Selection.Copy
Windows("Insp_demo.xls:1").Activate
ActiveSheet.Paste
Range("B3").Select
End Sub


Merci





Avatar
JpPradier
Bonjour Daniel

A tester sur un fichier exemple d'abord ;-))


Sub copie_un_a_L_autre ()
' Macro pour copier d'un fichier a l'autre
' (marquer les noms des fichiers et les cellules a copier )

application.screenupdatingúlse

for i= 0 to 249
decal =i*40
Windows("Hyacinthe.xls").Activate
Range("l" & (9+decal) & ":n" & (23+decal)).Copy
Windows("Insp_demo.xls:1").Activate
Range("l" & (9+decal)).Paste
next
application.screenupdating=true

end sub

j-p