Macro excel - décocher toutes les cases d'un filtre sauf une

Macro excel - décocher toutes les cases d'un filtre sauf une - VB/VBA/VBS - Programmation

Marsh Posté le 17-03-2016 à 12:17:06    

Bonjour,
Je débute dans les macro excel et j'aimerais faire qqch qui me paraît compliqué !... hep !
 
J'ai une feuille avec 8 graphes, et chaque graphe a un filtre "Date (FR format)". Pour afficher l'ensemble des graphes avec la meme date, je suis obligée de cocher la date 8 fois dans chacun des filtres; donc, le but de la macro est d'automatiser tout ça : l'utilisateur rentre une date dans une cellule, et tous les filtres cochent automatiquement cette date choisie. Et ca, ça marche ! Ce qui m'enquiquine, c'est que les autres dates cochées précédemment rester cochées.
 
En gros, j'aimerais que toutes les cases date autre que MaDate (celle entrée par l'utilisateur dans la cellule G6), soit décochée.
 
Voici le code pour l'un des graphe :
 
    Dim MaDate As Date
    MaDate = Range("G6" )
     
ActiveSheet.ChartObjects("Chart 9" ).Activate
 
      With ActiveChart.PivotLayout.PivotTable.PivotFields("Date (FR format)" )
        .PivotItems(MaDate).Visible = True
        .PivotItems(<>MaDate).Visible = False >>> c'est là que ça bloque !
 
        End With
 
J'ai essayé avec ça aussi, mais cela ne marche pas:   If PivoIItems <> MaDate Then Visible = False
 
Merci beaucoup pour votre aide !

Reply

Marsh Posté le 17-03-2016 à 12:17:06   

Reply

Marsh Posté le 17-03-2016 à 12:59:06    

Salut,
 
Et en ajoutant .PivotItems.Visible = False juste après le With (sans indice) ?
C'est à dire en décochant d'abord tout puis en ne cochant que celui de maDate ?

Reply

Marsh Posté le 17-03-2016 à 14:49:40    

Hello,
Merci pour ton aide, mais cela ne fonctionne pas non plus (erreur 438, Objets doesn't support this property or method)
Je continue également à investiguer de mon côté !

Reply

Marsh Posté le 18-03-2016 à 13:13:56    

Dans ce cas, essaye en bouclant sur tous les PivotItems d'abord (en dehors du With) :
 

Code :
  1. For i = 1 to ActiveChart.PivotLayout.PivotTable.PivotFields("Date (FR format)" ).PivotIems.Count
  2.    .PivotItems(i).Visible = False
  3. Next
  4. With ...


 
Ce sera un peu plus long, mais là ça devrait passer.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed