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 :

Propriété ShowDetail sur PivotField [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert Avatar de antonysansh
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Mai 2014
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2014
    Messages : 1 115
    Par défaut Propriété ShowDetail sur PivotField
    Bonjour à tous,

    J'aimerais automatiser l'affichage et le masque des détails d'un champs dans un Tableau Croisé Dynamique.

    Manuellement je passe par l'onglet données -> menu plan -> Afficher / Masquer mais j'aimerais mettre à disposition un bouton en haut de la feuille (plus rapide et plus simple pour les utilisateurs finaux).

    J'ai donc écris dans une premier temps les deux codes suivants (utilisation de l'enregistreur de macro et nettoyage) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub Masquer_Details()
        ThisWorkbook.Sheets("Mafeuille").PivotTables("MonTCD").PivotFields("MonChamps").ShowDetail = False
    End Sub
     
    Sub Afficher_Details()
        ThisWorkbook.Sheets("Mafeuille").PivotTables("MonTCD").PivotFields("MonChamps").ShowDetail = True
    End Sub
    Cela fonctionne très bien mais deux macro impliquent deux boutons. Or j'aimerais un seul bouton pour passer d'un état à l'autre.
    J'ai donc écris le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub test()
        Dim oPvtTbl As PivotTable, oPvtFld As PivotField
            Set oPvtTbl = ThisWorkbook.Sheets("Mafeuille").PivotTables("MonTCD")
            Set oPvtFld = oPvtTbl.PivotFields("MonChamps")
            With oPvtFld
                .ShowDetail = Not .ShowDetail
            End With
    fin:
        Set oPvtTbl = Nothing
        Set oPvtFld = Nothing
    End Sub
    Etonnamment j'ai le message d'erreur :
    Erreur d'exécution '1004':

    Erreur définie pas l'application ou par l'objet
    sur la ligne .ShowDetail = Not .ShowDetail
    Je dois avouer ne pas comprendre cette erreur.



    L'explorateur d'objets VBA m'indique ça :
    Property ShowDetail As Boolean
    Membre de Excel.PivotField
    La propriété ShowDetail n'a donc pas l'air d'être en écriture seule.

    Pendant le Débogage, la fenêtre des variables locales indique : <Erreur définie par l'application ou par l'objet> pour ShowDetail de l'objet oPvtFld


    Merci d'avance pour le temps que vous passerez à m'expliquer ce comportement et m'apporter une solution.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Sub Afficher_Details()
    If Afficher_Details.caption="Masquer" then
        ThisWorkbook.Sheets("Mafeuille").PivotTables("MonTCD").PivotFields("MonChamps").ShowDetail = false
    Afficher_Details.caption="Afficher"
    Else
        ThisWorkbook.Sheets("Mafeuille").PivotTables("MonTCD").PivotFields("MonChamps").ShowDetail = True
    .    Afficher_Details.caption="Masquer" 
    End Sub
    Dernière modification par Invité ; 22/03/2017 à 18h01.

  3. #3
    Membre Expert Avatar de antonysansh
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Mai 2014
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2014
    Messages : 1 115
    Par défaut
    Bonjour Robert,

    Très jolie cette astuce de modifier le texte du bouton et de changer le comportement en fonction
    Je n'y avais pas pensé.

    Je vais modifier le code en fonction. Merci

    Mais pour le coups je ne sais toujours pas pourquoi je n'arrive pas à récupérer la valeur de la propriété ShowDetail.
    As-tu des info à ce sujet ?

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    le génie, c'est proposer des solutions simples aux quelle personne n'a pensées! Nom : téléchargement.jpg
Affichages : 897
Taille : 8,1 Ko

    il te reste 2 veux!

  5. #5
    Membre Expert Avatar de antonysansh
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Mai 2014
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2014
    Messages : 1 115
    Par défaut
    Oui c'est vrai !

    Si j'ai vraiment le droit à un deuxième vœux, j'aimerais comprend pourquoi il n'est pas possible de lire cette fichu propriété ShowDetail ?

  6. #6
    Invité
    Invité(e)
    Par défaut
    https://msdn.microsoft.com/fr-fr/lib.../ff197861.aspx

    ShowDetail Obtient ou définit si le spécifié PivotField affiche les détails. En lecture/écriture booléen.

  7. #7
    Membre Expert Avatar de antonysansh
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Mai 2014
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2014
    Messages : 1 115
    Par défaut
    J'avais bien regardé la doc mais elle n'est pas plus précise que les infos fournis par l'explorateur d'objet VBA.

    Lecture / Ecriture de type Booléen OK !

    Alors pourquoi .ShowDetail = Not .ShowDetail ne fonctionne pas ?

  8. #8
    Invité
    Invité(e)
    Par défaut
    j'ai pas la réponse, j'utilise Excel en touriste!

  9. #9
    Membre Expert Avatar de antonysansh
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Mai 2014
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2014
    Messages : 1 115
    Par défaut
    Bonjour à tous,

    Je n'ai toujours pas trouvé d'info mais après quelques tests je pense avoir un début de réponse.

    La propriété .ShowDetail peut être écrite directement sur le champs (PivotField) et dans ce cas tous les détails sont affichés ou masqués.
    Par contre la lecture doit se faire Item par Item sur le Champs.

    En définitif :
    Property ShowDetail As Boolean Membre de Excel.PivotField est en Ecriture seule
    Property ShowDetail As Boolean Membre de Excel.PivotItem est en Lecture / Ecriture

  10. #10
    Invité
    Invité(e)
    Par défaut
    bonjour Antony,
    je note ça dans mes tablettes!

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

Discussions similaires

  1. propriété onChange sur un select, pb sous IE7 !
    Par avogadro dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 07/02/2007, 15h46
  2. Rajout de la propriété Identity sur un champ
    Par Goldorak2 dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 19/01/2007, 19h06
  3. propriété Count sur Range
    Par pierrOPSG dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/12/2006, 23h36
  4. Réponses: 9
    Dernier message: 15/07/2006, 12h18
  5. équivalent de la propriété unselectable sur Mozilla
    Par jibouze dans le forum Général JavaScript
    Réponses: 17
    Dernier message: 31/01/2006, 14h35

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