Bonjour,

Quelqu'un a-t-il une idée pour écrire ce code plus proprement?

L'objectif étant de copier 4 plages d'une feuille sur un autre classeur. J'aimerai éviter de faire des aller-retours entre les 2 classeurs.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
'ouvrir Commande de base
 Workbooks.Open Filename:= _
        "Y:\BASE DOCUMENT\BASE TECHNIQUE\COMMANDE DE BASE.xlsm"
 
    'Retour sur création commande
    Windows("CREATION DE COMMANDE.xlsm").Activate
 
 
     'Copie des cellules de la nomenclature page1
 
    Range("A2:M42").Copy
 
 
    'Retour sur la commande à éditer
    Windows("COMMANDE DE BASE.xlsm").Activate
 
 
   'Coller sur page 1
 
    Range("A2").Select
    ActiveSheet.Paste
 
 
     'Retour sur création commande
    Windows("CREATION DE COMMANDE.xlsm").Activate
 
 
     'Copie des cellules de la nomenclature page2
 
    Range("A43:M75").Copy
 
 
    'Retour sur la commande à éditer
    Windows("COMMANDE DE BASE.xlsm").Activate
 
 
   'Coller sur page 2
 
    Range("A47").Select
    ActiveSheet.Paste
 
         'Retour sur création commande
    Windows("CREATION DE COMMANDE.xlsm").Activate
 
 
     'Copie des cellules de la nomenclature page3
 
    Range("A76:M108").Copy
 
 
    'Retour sur la commande à éditer
    Windows("COMMANDE DE BASE.xlsm").Activate
 
 
   'Coller sur page 3
 
    Range("A84").Select
    ActiveSheet.Paste
 
 
    'Retour sur création commande
    Windows("CREATION DE COMMANDE.xlsm").Activate
 
 
     'Copie des cellules de la nomenclature page4
 
    Range("A109:M141").Copy
 
 
    'Retour sur la commande à éditer
    Windows("COMMANDE DE BASE.xlsm").Activate
 
 
   'Coller sur page 3
 
    Range("A121").Select
    ActiveSheet.Paste
 
 'Enrgistrer sous nom de commande
 
    Dim C2 As String
    Dim E2 As String
    C2 = Range("C2").Value
    E2 = Range("E2").Value
    ActiveWorkbook.SaveAs Filename:="Y:\BASE DOCUMENT\BASE TECHNIQUE\COMMANDES Excel\" & "Commande N°" & C2 & " - " & E2 & ".xlsm"
    Range("C2").Select
    'Application.CutCopyMode = False
    'Selection.ClearContents