VBA: Un seul filtre mais plusieurs valeurs utilisées
Bonjour,
Ce n'est pas mon premier message sur le forum mais mon premier sujet...
je vous explique:
J'ai un fichier avec plusieurs TCD qui utilisent tous comme FILTRE DU RAPPORT la même valeur (N° SEMAINE dans mons cas).
J'ai réussi à créer sur un autre onglet une liste déroulante reprenant les 52 numéro de semaine et j'ai affecté à cette onglet une macro qui, quand je choisi mon numéro de semaine dans la liste déroulante, modifie tous les TCD de mon fichier et les actualise.
Voici le code intégré à mon onglet:
Code:
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
| Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ws As Worksheet
Dim pt As PivotTable
Dim pi As PivotItem
Dim strField As String
strField = "N° SEMAINE"
On Error Resume Next
Application.EnableEvents = True
Application.ScreenUpdating = False
If Target.Address = Range("AB1").Address Then
For Each ws In ThisWorkbook.Worksheets
For Each pt In ws.PivotTables
With pt.PageFields(strField)
For Each pi In .PivotItems
If pi.Value = Target.Value Then
.CurrentPage = Target.Value
Exit For
Else
.CurrentPage = "(All)"
End If
Next pi
End With
Next pt
Next ws
End If
Application.EnableEvents = True
Application.ScreenUpdating = True
End sub |
Dans quels sens aller pour être capable de sélectionner plusieurs semaines et donc d'avoir un affichage mensuel ?
NB: Je sais faire des copier/coller de code et commence à comprendre comment ils fonctionnent (dans les grandes lignes) mais incapable de créer mon code de toutes pièces.
Un énorme merci à vous.
Bonne soirée.
[EDIT] en tapant mon message je pense avoir trouvé la solution....
Il me suffit de créer une nouvelle colonne avec une formule du genre =MOIS comme j'ai fais pour la semaine et recréer une nouvelle macro du même type que précédemment.
Je post quand même car je suis intéressé d'avoir la réponse à ma question initiale.