Bonjour à tous,
Je travaille sur un fichier qui doit se mettre à jour lors de la mise à jour d'un TCD.
Dans l'évèment Worksheet_PivotTableUpdate j'ai rédigé le code suivant (version allégée) :
Pour résumé, cette macro va, pour chacun des 8 champs filtres de mon TCD, parcourir l'ensemble des éléments, va vérifier s'ils sont filtrer (via la propriété Visible) et les écrire dans une autre feuille si c'est le cas.
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 Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable) Dim lpi As PivotItem Dim ws As Worksheet Dim i As Integer Dim j As Integer Dim champ(1 To 8) As String champ(1) = "Et" champ(2) = "Operation Accountable" champ(3) = "Operation Name" champ(4) = "Orderer" champ(5) = "Supplier Name" champ(6) = "Task Name" champ(7) = "start" champ(8) = "end" Set ws = Worksheets("FiltreTCD") For j = 1 To 8 i = 1 For Each lpi In Target.PivotFields(champ(j)).PivotItems If lpi.Visible Then ws.Cells(i, j) = lpi.Name i = i + 1 End If Next lpi Next j End Sub
Tout fonctionne bien pour les 6 premiers champ mais cela ne tourne pas pour les deux derniers (qui sont des dates contrairement aux autres).
En effet, lors de la lecture de la propriété Visible de lpi (ligne 23), Excel retourne l'erreur 13 : Incompatibilité de type.
J'ai essayé de mettre un espion sur lpi et là visible est bien à True ou False mais si j'espionne directement lpi.Visible je retrouve l'erreur.
Le problème vient sans aucun doute du fait que ces champs sont des dates mais j'ai aucune idée du fond du problème et de comment le résoudre...
Merci d'avance![]()
Partager