bonsoir a tous

j ai un code que j ai créé par l enregistreur macro qui me permet de copier des feuilles d un classeur Excel A vers un classeur B
de transmettre le classeur B par mail puis d 'effacer les données du classeur A
Bien qu il fonctionne ce code me parait "lourd" et long
y a t il un code plus "simple" svp ?
d autre part, le classeur B est destiné à être transmis à des collaborateurs et je souhaiterais que le code ne copie que les feuilles mais sans les macros

merci d'avance pour votre aide
ci dessous less codes pour la copie et la transmission mail et le code pour effacer les données du classeur A

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
Private Sub CommandButton3_Click()
'copie les feuilles dans un nouveau classeur avant envoi
 
   Sheets(Array("Etat_des_sorties", "Etat_des_entrées", "Etat_du_Stock")).Select
    Sheets("Etat_des_entrées").Activate
    Sheets(Array("Etat_des_sorties", "Etat_des_entrées", "Etat_du_Stock")).Copy
    Application.Dialogs(xlDialogSendMail).Show
    ActiveWorkbook.Close
 
Call MAJ
End Sub
 
 
Sub MAJ()
'
' MAJ Macro
'
 
'
    Sheets("Etat_du_Stock").Select
    Range("H2:H365").Select
    Selection.Copy
    Range("L2").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    Sheets("Etat_des_sorties").Select
    Range("A2:C60").Select
    ActiveWindow.SmallScroll Down:=-63
    Range("A2:C60,F2:F61").Select
    Range("F2").Activate
    ActiveWindow.SmallScroll Down:=-45
    Range("A2:C60,F2:F61,H2:H61").Select
    Range("H2").Activate
    Selection.ClearContents
    Range("D12").Select
    Sheets("Etat_des_entrées").Select
    Range("A2:C60").Select
    ActiveWindow.SmallScroll Down:=-36
    Range("A2:C60,F2:F60").Select
    Range("F2").Activate
    Selection.ClearContents
    Range("D19").Select
    Sheets("Etat_du_Stock").Select
    Range("L2:L355").Select
    Selection.Cut
    ActiveWindow.SmallScroll Down:=-9
    Range("E2").Select
    ActiveSheet.Paste
    With Selection
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlBottom
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
    Range("B3:G3").Select
    Sheets("Etat_du_Stock").Select
    Sheets("Gestion_du_Stock").Select
 
    MsgBox (" Sauvegarde et transfert des dossiers réussis !"), vbExclamation & vbOK
 
End Sub