Mettre un filtre automatique dans un tableau croisé dynamiqueVBA

Résolu
solidarinfo Messages postés 147 Date d'inscription   Statut Membre Dernière intervention   -  
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je veux mettre en place un filtre automatique dans un tableau croisé va VBA.
L'idée est que la dernière information du filtre soit celle qui sera sélectionnée.

En effet une fois que je mets à jour le TCD le nouvel element rajouté est toujours en bas.

j'arrive à sélectionner et deselectionner tous les elements jusqu'au dernier mais il plante à la fin.
Voici ce que j'ai fait :

 
With ActiveSheet.PivotTables("PivotTable1").PivotFields("STATUT")
For i = 1 To .PivotItems.Count
If .PivotItems(i).Value > (Deb - 1) And .PivotItems(i).Value < (Fin + 1) Then
.PivotItems(i).Visible = True
Else
.PivotItems(i).Visible = False
End If
Next i
'.Orientation = xlPageField
End With


Ce que je souhaite c'est qu'avec cette boucle, elle me selectionne la derniere valeur du filtre.
"s'il y a plus de valeur aprés, arrete la boucle et selectionne la valeur actuelle".

Inutile de vous préciser que je suis débutant :)

Merci d'avance de votre aide.


1 réponse

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
Il plante sur quelle ligne, avec quel message d'erreur?
Quel est le rôle de Deb et de Fin?
Tu n'as pas clairement expliqué ce que tu voulais obtenir.
Tu as peut-être simplement besoin de ceci?
For i = 1 To .PivotItems.Count -1
            .PivotItems(i).Visible = False
Next i
 .PivotItems(.PivotItems.Count).Visible = True

Sinon, explique ce que tu entends par "dernier".
0