Bonjour, merci d'avance pour votre gentillesse
Je suis en train de basculer peu a peu des formules vers une approche macro.
Je suis sur un classeur qui utilise les formules que j'ai déjà créées dans un autre classeur.
Actuellement il procède de la sorte:
- copie des valeurs renseignées sur une première feuille de classeur 1
- collage de ces valeurs dans une feuille de classeur 2
- copie des valeurs de classeur 2
- collage des valeurs dans classeur 1
Je cherche à évoluer en ouvrant le classeur 2 en mode masqué faire mes manipulations et refermer ce classeur voire le garder en mémoire pour une prochaine fois.
J'ai parcouru de nombreuses pages dans ce forum mais il y a des choses qui m'échappent!
Voici mes deux codes: l'un marche mais m'oblige à ouvrir et refermer le classeur 2 manuellement.
L'autre quant à lui je l'ai fait en suivant des conseils sur ce forum mais il m'efface le contenu de classeur 1 et ne fait plus rien!!
merci d'avance.
code 1:
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 sub macro1 Windows("TARIF_VIERGE.xls").Activate Range("A4:D40").Select Selection.Copy Windows("CHIFFRAGE.xls").Activate ActiveWindow.SmallScroll Down:=-15 Range("A4").Select ActiveSheet.Paste Range("A4:E40").Select Application.CutCopyMode = False Selection.Copy Windows("TARIF_VIERGE.xls").Activate Range("A4").Select Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _ xlNone, SkipBlanks:=False, Transpose:=False Windows("CHIFFRAGE.xls").Activate Range("A4:D40").Select Selection.ClearContents Windows("TARIF_VIERGE.xls").Activate Range("A41:D77").Select Selection.Copy Windows("CHIFFRAGE.xls").Activate ActiveWindow.SmallScroll Down:=-15 Range("A4").Select ActiveSheet.Paste Range("A4:E40").Select Application.CutCopyMode = False Selection.Copy Windows("TARIF_VIERGE.xls").Activate Range("A41").Select Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _ xlNone, SkipBlanks:=False, Transpose:=False Windows("CHIFFRAGE.xls").Activate Range("A4:D40").Select Selection.ClearContents Windows("TARIF_VIERGE.xls").Activate Range("A4").Select End Sub
code 2:
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 sub macro 2 Dim oExcel As Excel.Application Dim obExcel As Excel.Workbook 'Classeur Excel Dim osExcel As Excel.Worksheet 'Feuille Excel Set oExcel = CreateObject("excel.application") Set obExcel = oExcel.Workbooks.Open("C:\Documents and Settings\.Nissin\Mes documents\ESI\TARIFS FOURNISSEURS\CHIFFRAGE.xls") Set osExcel = obExcel.Worksheets("px de revient") oExcel.Visible = False Application.ScreenUpdating = False osExcel.Visible = True Windows("TARIF_VIERGE.xls").Activate Range("A4:D40").Select Selection.Copy osExcel.Select ActiveWindow.SmallScroll Down:=-15 Range("A4").Select ActiveSheet.Paste Range("A4:E40").Select Application.CutCopyMode = False Selection.Copy Windows("TARIF_VIERGE.xls").Activate Range("A4").Select Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _ xlNone, SkipBlanks:=False, Transpose:=False osExcel.Select Range("A4:D40").Select Selection.ClearContents Windows("TARIF_VIERGE.xls").Activate Range("A41:D77").Select Selection.Copy osExcel.Select ActiveWindow.SmallScroll Down:=-15 Range("A4").Select ActiveSheet.Paste Range("A4:E40").Select Application.CutCopyMode = False Selection.Copy Windows("TARIF_VIERGE.xls").Activate Range("A41").Select Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _ xlNone, SkipBlanks:=False, Transpose:=False osExcel.Select Range("A4:D40").Select Selection.ClearContents Windows("TARIF_VIERGE.xls").Activate Range("A4").Select osExcel.Visible = False Application.ScreenUpdating = True Set oExcel = Nothing End Sub
Partager