Bonjour,
dans la macro ci après, je vais chercher des infos dans un TCD, je selectionne une catégorie - une fois la catégorie selectionnée, j'active une macro pour traiter les données, copie et colle des données dans un tableau - plutot que de le faire manuellement j ai eu l idée d'enregistrer une macro qui selectionne copie et colle - le seul souci c'est quand la catégorie n'existe pas - la macro plante -
J'aimerais donc dans la macro ci après ajouter une condition if "" alors passer à l'action suivante - je ne sais pas si je sui clair - en d autres termes, si la catégorie n'existe pas passer à la catégorie suivante -
Merci par avance pour vos idées
voici ce que jai enregistré :
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127 Sub test2() ' ' test2 Macro ' Macro enregistrée le 15/06/2009 par freddy ' ' ActiveWorkbook.ShowPivotTableFieldList = False With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields( _ "Name Mat Group DIA") .PivotItems("CONSUMABLE IN MECHANICS").Visible = False .PivotItems("DIA PURCHASING SEGMENTS").Visible = False .PivotItems("ELECTRICITY").Visible = False .PivotItems("ENERGY FUELS & UTILITIES").Visible = False .PivotItems("GENERAL SERVICES").Visible = False .PivotItems("INSTRUMENTATION AND CONTROL").Visible = False .PivotItems("IT AND TELECOM.").Visible = False .PivotItems("LABORATORY PRODUCTS AND EQU.").Visible = False .PivotItems("LOGISTICS- PACKAGING").Visible = False .PivotItems("LUBRICANTS").Visible = False .PivotItems("MACHINES AND PROCESS EQU.").Visible = False .PivotItems("MISC CONSUMABLES").Visible = False .PivotItems("PHARMACEUTICALS PRODUCTS").Visible = False .PivotItems("TECHNICAL GOODS").Visible = False .PivotItems("TECHNICAL GOODS AND SERVICES").Visible = False .PivotItems("VALVES AND PIPING").Visible = False .PivotItems("VESSELS AND SPECIAL EQU.").Visible = False .PivotItems("(vide)").Visible = False .PivotItems("Not Assigned Mat Group DIA (s)").Visible = False End With Application.Run "'new version.xls'!Feuil6.multiloadGeneral" Range("H9:H18").Select With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields( _ "Name Mat Group DIA") .PivotItems("CHEMICALS AND RAW MATERIALS").Visible = False .PivotItems("IT AND TELECOM.").Visible = True End With Application.Run "'new version.xls'!Feuil6.multiloadGeneral" Range("H9:H18").Select Selection.Copy ActiveWindow.SmallScroll Down:=9 Range("I34").Select ActiveSheet.Paste ActiveWindow.SmallScroll Down:=-15 With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields( _ "Name Mat Group DIA") .PivotItems("IT AND TELECOM.").Visible = False .PivotItems("TECHNICAL GOODS").Visible = True End With Application.Run "'new version.xls'!Feuil6.multiloadGeneral" Range("H9:H18").Select Application.CutCopyMode = False Selection.Copy ActiveWindow.SmallScroll Down:=6 Range("J34").Select ActiveSheet.Paste ActiveWindow.SmallScroll Down:=-15 With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields( _ "Name Mat Group DIA") .PivotItems("CHEMICALS AND RAW MATERIALS").Visible = True .PivotItems("TECHNICAL GOODS").Visible = False End With Application.Run "'new version.xls'!Feuil6.multiloadGeneral" Range("H9:H18").Select Application.CutCopyMode = False Selection.Copy ActiveWindow.SmallScroll Down:=9 Range("K34").Select ActiveSheet.Paste ActiveWindow.SmallScroll Down:=-21 With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields( _ "Name Mat Group DIA") .PivotItems("CHEMICALS AND RAW MATERIALS").Visible = False .PivotItems("PHARMACEUTICALS PRODUCTS").Visible = True End With ActiveWindow.SmallScroll Down:=-6 Application.Run "'new version.xls'!Feuil6.multiloadGeneral" Range("H9:H18").Select Application.CutCopyMode = False Selection.Copy ActiveWindow.SmallScroll Down:=6 Range("L34").Select ActiveSheet.Paste ActiveWindow.ScrollColumn = 4 ActiveWindow.ScrollColumn = 5 ActiveWindow.ScrollColumn = 6 ActiveWindow.SmallScroll Down:=-18 With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields( _ "Name Mat Group DIA") .PivotItems("ENERGY FUELS & UTILITIES").Visible = True .PivotItems("PHARMACEUTICALS PRODUCTS").Visible = False End With Application.Run "'new version.xls'!Feuil6.multiloadGeneral" Range("H9:H18").Select Application.CutCopyMode = False Selection.Copy ActiveWindow.SmallScroll Down:=6 Range("M34").Select ActiveSheet.Paste ActiveWindow.SmallScroll Down:=-15 With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields( _ "Name Mat Group DIA") .PivotItems("ENERGY FUELS & UTILITIES").Visible = False .PivotItems("LOGISTICS- PACKAGING").Visible = True End With Application.Run "'new version.xls'!Feuil6.multiloadGeneral" Range("H9:H18").Select Application.CutCopyMode = False Selection.Copy ActiveWindow.SmallScroll Down:=9 Range("N34").Select ActiveSheet.Paste ActiveWindow.SmallScroll Down:=-18 With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields( _ "Name Mat Group DIA") .PivotItems("GENERAL SERVICES").Visible = True .PivotItems("LOGISTICS- PACKAGING").Visible = False End With Application.Run "'new version.xls'!Feuil6.multiloadGeneral" Range("H9:H18").Select Application.CutCopyMode = False Selection.Copy Range("O24").Select Range("O34").Select ActiveSheet.Paste ActiveWindow.SmallScroll Down:=9 End Sub
Partager