IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

VBA Masquer des items d'un TCD [XL-2016]


Sujet :

Macros et VBA Excel

  1. #1
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut VBA Masquer des items d'un TCD
    Bonjour,

    Je souhaite masquer certaines dates pour lesquelles il n'y a pas de mouvements bancaires :

    Nom : Annotation 2019-11-16 174222.png
Affichages : 168
Taille : 10,4 Ko

    J'ai écrit ce code, mais il est très long, et en outre, il ne donne pas le résultat voulu :

    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
    Sub test()
      Dim Pt As PivotItem, C As Range
      Application.ScreenUpdating = False
      inCalculationMode = Application.Calculation
      Application.Calculation = xlCalculationManual
      With Sheets("Cpts bancaires").PivotTables(1)
        .ManualUpdate = True
        On Error Resume Next
        .PivotFields("Date").ClearAllFilters
        On Error GoTo 0
        For Each Pt In .PivotFields("Date").PivotItems
          For Each C In Pt.DataRange
            If C.Column = 7 Then
              If C.Row = 20 Then Stop
              If C = "" And C.Offset(, 1) = "" Then
                Pt.Visible = False
                ctr = ctr + 1
                Debug.Print ctr
              End If
            End If
          Next C
        Next Pt
        .ManualUpdate = False
      End With
      Application.Calculation = inCalculationMode
    End Sub
    Je posterai le classeur quand vous voudrez.

    Merci d'avance.

  2. #2
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 566
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 566
    Par défaut
    Bonjour

    Sur 2016, je pense plus simple, dans la mesure où un solde à 0 ne suffit pas à obtenir un filtre direct, de préfiltrer la source via PowerQuery et bâtir le TCD sur le requête.

  3. #3
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour et merci.

    Je ne suis malheureusement pas libre de modifier le classeur.

  4. #4
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 566
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 566
    Par défaut
    RE

    Cela ne modifie pas le classeur (c'est une requête), juste la source du TCD...

    Sinon on doit pouvoir utiliser le modèle de données PowerPivot et utiliser une mesure mais c'est nettement plus lourd qu'une requête PQ

    La boucle reste une solution longue quand le TCD est volumineux

  5. #5
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Ne serait-ce que pour ma connaissance, ça m'intéresserait. Est-ce que tu as besoin du classeur ? La source de données est sur une feuille du classeur. et j'avais cru comprendre qu'avec PQ, il fallait qu'elle soit externe ?

  6. #6
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 566
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 566
    Par défaut
    Re

    Non PowerQuery traite tout aussi bien ce qui est en interne ou externe

    En postant un bout de fichier, cela permettra de te donner une requête efficace et adaptée

    Edit : Comme tu l'as fait ailleurs j'ai répondu sur cet autre fil à partir de ton fichier

  7. #7
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bon, je viens effectivement de voir ton post; alors, pas la peine de multiplier les pièces jointes, je continue sur excel downloads

    Merci..

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VBA] Extraction des données d'un TCD
    Par kurumy dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/03/2017, 18h32
  2. [XL-2007] Gestion des Item dans un TCD en VBA
    Par BAHIRI dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 05/03/2012, 01h51
  3. Masquer des items pour une variable d'un tableau croisé dynamique en VBA
    Par Pietro_L dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 29/10/2007, 16h35
  4. [VBA]comment masquer des fichiers excel au démarrage d'une macro?
    Par alex.a dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/04/2007, 15h33
  5. Réponses: 2
    Dernier message: 09/10/2004, 20h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo