Bonjour à tous,

en cherchant un peu sur le net j'ai trouvé un code qui me permet de mettre à jour ma table pivot sur base d'une valeur dans une cellule (G2)

ce que je souhaite maintenant, c'est de faire tourner cette macro en boucle pour les différentes valeurs se trouvant sous la cellule G2 et que pour chaque valeur il me sauvegarde le résultat sous un fichier (PDF) avec comme nom la valeur de la cellule.

seulement, je bug et ne sais pas trop comment faire la boucle et pour la sauvegarde en PDF, je bug aussi

un peu d'aide serait le bienvenu

voici ce que j'ai pour le moment :

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
Sub SaveWorkbook()
 
Dim Chemin1$, Client$, Fichier$, Jour$
 
Chemin1 = "C:\Documents and Settings\Maurizio\Mes documents"
Jour = Format(Now(), "yyyymmdd")
Client = Range("B1")
Fichier = "NetPrice" & "_" & Client & "_" & Jour & ".xls"
 
If Dir(Chemin1 & Client, 16) = "" Then MkDir Chemin1 & Client
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin1 & Client & "\" & Fichier
 
End Sub
----------------------------------------------------------
Sub PivotTableFilter()
 
 
' Variable Declaration
  Dim pvtItem As PivotItem
  Dim pvt As PivotTable
  Dim pvtField As PivotField
  Dim sItem As String
 
 
' Assign the starting variable values
  ' PivotTables & PivotFields are Objects, so use a Set statement
    Set pvt = Worksheets("Feuil4").PivotTables("Tableau croisé dynamique2")
    Set pvtField = pvt.PivotFields("customer")
  ' non-Object variables don't use Set
    sItem = Worksheets("customer").Range("G2").Value
 
 
'Don't show the alert message boxes
    Application.DisplayAlerts = False
'Hide the screens while the macro is running
    Application.ScreenUpdating = False
 
 
' Refresh Pivot Table (optional - can remove)
  pvt.PivotCache.Refresh
 
 
' Delete ghost PivotItems
  For Each pvtItem In pvtField.PivotItems
    On Error Resume Next
    pvtItem.Delete
    On Error GoTo 0
  Next pvtItem
 
 
' Test for valid filter value
  On Error GoTo InvalidFilter
  pvtField.PivotItems(sItem).Visible = True
  On Error GoTo 0
 
 
' Loop though PivotItems
  For Each pvtItem In pvtField.PivotItems
    If pvtItem = sItem Then
      pvtItem.Visible = True
    Else
      pvtItem.Visible = False
    End If
  Next pvtItem
 
 
 
' Stop the code so it doesn't do the InvalidFilter bit
Exit Sub
 
 
' This runs if there was an error in the test
InvalidFilter:
  MsgBox ("The filter """ & sItem & """ doesn't exist")
 
SaveWorkbook
 
 
'Don't show the alert message boxes
    Application.DisplayAlerts = True
 
'Show the screens while the macro is running
    Application.ScreenUpdating = True
 
 
End Sub

je n'arrive pas à joindre le fichier
Merci à vous pour votre aide !!!