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
Partager