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 :

Rafraîchir TCD via VBA [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier Avatar de meolimo
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2011
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Août 2011
    Messages : 138
    Points : 98
    Points
    98
    Par défaut Rafraîchir TCD via VBA
    Bonjour, j'ai besoin d'appliquer un rafraîchissement de mon TCD nommé TDC1 inclus sur ma feuille "Gaph1" via une procédure VBA

    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
        Sheets("Graph1").Visible = True
        Sheets("Graph1").Select
        With ActiveSheet.PivotTables("TCD1").PivotFields("NUMÉRO DE DOSSIER")
            For i = 1 To .PivotItems.Count
                Debug.Print .PivotItems(i).name
                Select Case .PivotItems(i).name
                    Case "(blank)"
                    Case Else
                        Select Case .PivotItems(i).Visible
                            Case True
                                .PivotItems(i).Visible = False
                            Case False
                                .PivotItems(i).Visible = True
                        End Select
                        Debug.Print .PivotItems(i).Visible
                End Select
     
            Next i
        End With
    j’obtiens au moment de rendre .visible à true, l'erreur d'exécution '1004' impossible de définir la propriété Visible de la classe PivoItem.

    J'ai parcouru plusieurs textes sur le sujet et je ne comprend pas.

    Si la propriété de l'objet est a true, le passage a false se fait sans problème par contre le contraire provoque l'erreur ??

    Une explication serait appréciée.

    Merci à l'avance

  2. #2
    Expert confirmé
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Points : 4 174
    Points
    4 174
    Par défaut
    Bonjour,
    Je te conseil d'utiliser l'enregistreur de macro qui lui te donnera le code exact pour la Maj de ton TCD.
    Tu n'auras plus qu'à réadapter la partie de code que tu souhaite sur ton code
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre en n'oubliant pas d'indiquer qu'elle est la solution finale choisie

  3. #3
    Membre régulier Avatar de meolimo
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2011
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Août 2011
    Messages : 138
    Points : 98
    Points
    98
    Par défaut
    Merci pour l'intérêt et la rapidité de ta réponse RyuAutodidacte mais évidement j'ai aussi pris ce chemin dans le but d'élucider l'énigme.

  4. #4
    Membre régulier Avatar de meolimo
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2011
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Août 2011
    Messages : 138
    Points : 98
    Points
    98
    Par défaut Rafraîchir TCD via VBA
    J'ai finalement trouvé une solution qui fait l'affaire .... Merci a un certain Dan ..

    ma procédure ressemble maintenant à :
    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
    Dim pt As PivotTable
    Dim pf As PivotField
    Dim pI As PivotItems
     
    For Each pt In Worksheets("Graph1").PivotTables
        pt.ClearAllFilters
        With ActiveSheet.PivotTables("TCD1").PivotFields("NUMÉRO DE DOSSIER")
     
            For i = 1 To .PivotItems.Count
     
                Select Case .PivotItems(i).name
     
                        Case "(blank)"
                            .PivotItems(i).Visible = False
     
                End Select
            Next i
     
        End With
    Next pt
    Sans trop comprendre le "pourquoi", le résultat me convient parfaitement

  5. #5
    Expert confirmé
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Points : 4 174
    Points
    4 174
    Par défaut
    Re.
    Désolé , Je ne savais pas que tu étais déjà passé par la case enregistreur de macro.
    Quoi qu'il en soit si ton problème est résolu c'est le principal
    Ryu
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre en n'oubliant pas d'indiquer qu'elle est la solution finale choisie

  6. #6
    Expert confirmé
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Points : 4 174
    Points
    4 174
    Par défaut
    Re, peux-tu faire un test avec ton ancien code si c'est possible :
    - mets un filtre sur ton tcd manuellement puis rends ta feuille non visible puis applique ton code
    - refait le même test en ayant pris soin auparavant d'enlever tous les filtres de ton tcd et re applique ton ancien code.

    Résultat ??

    Edit :
    Sans trop comprendre le "pourquoi" …
    il se pourrait que cela vienne du filtre => voilà pourquoi le tester
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre en n'oubliant pas d'indiquer qu'elle est la solution finale choisie

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

Discussions similaires

  1. [XL-2007] erreur 1004 pour la création d'un tcd via vba
    Par lps02 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 30/10/2012, 20h23
  2. [XL-2002] Sélection d'éléments dans un TCD via VBA
    Par Pesnoob dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 28/06/2011, 09h59
  3. [XL-2007] MAJ multi-TCD via VBA
    Par deuboli dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 31/03/2011, 07h44
  4. E-XP : création TCD via VBA.
    Par gillou13 dans le forum Excel
    Réponses: 1
    Dernier message: 27/02/2009, 20h42
  5. Mise à jour de la source d'un TCD via VBA
    Par alex830001 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 22/01/2009, 10h41

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