Bonjour,
Je suis désolée si ce message a déjà été adressé, mais j'ai cherché dans la FAQ et dans les discussions sans trouver de réponse.
De plus, je cours un peu après les temps pour etre honnete.
Je débute complètement, ce n'est pas du tout mon domaine, mais on m'a confié ce boulot, donc.....
Alors, vraiment désolée si mon code est moche et pas du tout optimisé....
Mon problème :
Je crée un TCD dans VBA dans lequel je veux filtrer certaines valeurs d'un champ (.PivotItems(Pivot_i).Visible = True).
Mon souci est que parfois la valeur prise par ce fameux pivot_i n'existe pas dans le TCD et il y a donc une erreur.
Je souhaiterais que dans ce cas le reste de la procedure ne s'execute pas. Je suis dans une boucle for et je voudrais sortir de l execution et passer au next i.
J'ai essaye avec On error goto mais je ne m'en sors pas. En gros ca marche la premiere fois, mais ensuite rien...
On error resume next ne marche pas etant donne qu'alors le reste s'execute et je ne veux pas.
Voici mon code (encore desolee pour la mochete.....)
Si quelqu'un a une idee je prends.....Merci beaucoup.
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 For i = 12 To derniere_ligne_P_and_L_HP Worksheets("P&L HP").Activate Pivot_i = Cells(i, 17).Value If Pivot_i = "" Then GoTo 14 Else If Worksheets("Pivot").Cells(5, 1).Value = Pivot_i Then GoTo 15 Else Worksheets("Pivot").Activate On Error GoTo Error_handler With ActiveSheet.PivotTables("TCD").PivotFields("Ref Conso") .PivotItems(Pivot_i).Visible = True End With Worksheets("P&L HP").Activate Cells(i, 18).Value = -Worksheets("Pivot").Cells(5, 2).Value Worksheets("Pivot").Activate On Error GoTo Error_handler With ActiveSheet.PivotTables("TCD").PivotFields("Ref Conso") .PivotItems(Pivot_i).Visible = False End With End If GoTo 14 15: Worksheets("P&L HP").Activate Cells(i, 19).Value = -Worksheets("Pivot").Cells(5, 2).Value 14: i = i End If Error_handler: On Error GoTo 0 Next i
Partager