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-W2007]masquer un champ dans un tableau croisé dynamique


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2003
    Messages : 171
    Points : 97
    Points
    97
    Par défaut [VBA-W2007]masquer un champ dans un tableau croisé dynamique
    Bonjour

    J'ai une source de donnée que je construis à partir d'une requete
    que je met dans un listeobject
    req étant ma requete
    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
    With XLFichier.ActiveSheet.ListObjects.Add(SourceType:=0, Source:=strBD _
           , Destination:=XLFichier.ActiveSheet.Range("$A$1")).QueryTable
            .CommandType = xlCmdSql
            .CommandText = req
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .BackgroundQuery = True
            .RefreshStyle = xlInsertDeleteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .PreserveColumnInfo = True
            .ListObject.DisplayName = NomDonnee
            .Refresh BackgroundQuery:=False
        End With
    dans requete je trie en sortie les données avec des order by
    mon problème et que je fais mon tableau croisé dynamique excel retrie automatiquement ce qui ne me donne pas la sortie voulu
    si je rajoute un champ de tri contenant des codes ca marche bien mais je ne peux pas le masquer.

    Avez vous une idée ?

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Ça dépend de ce que tu veux obtenir... Tu as essayé de "peindre" les caractères en blanc ?

  3. #3
    Membre émérite
    Avatar de cb_60
    Homme Profil pro
    Chargé de mission technique
    Inscrit en
    Juillet 2007
    Messages
    1 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chargé de mission technique
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 253
    Points : 2 375
    Points
    2 375
    Billets dans le blog
    14
    Par défaut
    Bonjour
    dans ta macro tu dois peut être mettre quelque chose comme cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            .PivotFields("Colonne").PivotItems("ton champ").Visible = False
    OU
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            .PivotFields(" ton champ").Orientation = xlHidden
    L'imagination est plus importante que le savoir.... A . Einstein.
    https://www.developpez.net/forums/blogs/179588-cb_60/
    Merci de cliquer sur pour clore cette discussion.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2003
    Messages : 171
    Points : 97
    Points
    97
    Par défaut
    Citation Envoyé par cb_60 Voir le message
    Bonjour
    dans ta macro tu dois peut être mettre quelque chose comme cela:
    .PivotFields("Colonne").PivotItems("ton champ").Visible = False

    OU
    .PivotFields(" ton champ").Orientation = xlHidden
    Pour ce qui est de ".PivotItems("ton champ").Visible = False" ceci effectue un filtre donc cela ne fait pas du tout ce que je souhaite

    Pour ce qui est de ".PivotFields(" ton champ").Orientation = xlHidden" ceci l'enleve du tableau croisé dynamique ce qui est n'est pas ce que je veux

    Pour la solution du blanc c'est ce que j'utilise en ce moment avec une size de 1 mais cela m'embete pour l'autofit ou l'ajustement auto de la largeur.

    Ce que je cherche c'est de masquer une partie de la colonne de mon champ mais pas toute car si j'ai un total je veux le conserver

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Citation Envoyé par tazamorte
    Pour la solution du blanc c'est ce que j'utilise en ce moment avec une size de 1 mais cela m'embete pour l'autofit ou l'ajustement auto de la largeur.
    Sans changer la taille de la police, tu peux en modifier la couleur en lui donnant la couleur du fond... Juste une idée.
    Ceci dit je crois bien que SilkyRoad (à qui je prète beaucoup... c'est peut-être quelqu'un d'autre...) a donné une solution de mise en forme des TCD... Une recherche à TCD sur le forum VBA peut-être, à moins que ce soit dans la FAQ (?!?)
    Mais il n'est pas impossible que ce soit la solution donnée par cb_60 (re ?)
    Bonne chance dans tes recherches

    Je viens de retrouver ça, tu n'avais pas trouvé la solution, alors ?

    En fouillant je suis tombé sur ça (qui a à voir avec les TCD pas avec la mise forme...
    Je continue ma recherche

    J'ai fini ma recherche sur le forum mais n'ai pas trouvé. Peut-être dans la FAQ...

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2003
    Messages : 171
    Points : 97
    Points
    97
    Par défaut
    merci mais les 2 liens de répondent pas aux pbs le 1er effectivement un message de moi meme mais le problème était différent et ma solution a beaucou évolué depuis.

    le deuxieme est un tuto simple sur le tcd mais ne comporte pas d'info sur ce que je cherche à faire.

  7. #7
    Membre émérite
    Avatar de cb_60
    Homme Profil pro
    Chargé de mission technique
    Inscrit en
    Juillet 2007
    Messages
    1 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chargé de mission technique
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 253
    Points : 2 375
    Points
    2 375
    Billets dans le blog
    14
    Par défaut
    re
    Et si tu mettais cette fonction:".PivotItems("ton champ").Visible = False" avec une case à cocher pour la rendre visible ou pas.
    L'imagination est plus importante que le savoir.... A . Einstein.
    https://www.developpez.net/forums/blogs/179588-cb_60/
    Merci de cliquer sur pour clore cette discussion.

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2003
    Messages : 171
    Points : 97
    Points
    97
    Par défaut
    Citation Envoyé par cb_60 Voir le message
    re
    Et si tu mettais cette fonction:".PivotItems("ton champ").Visible = False" avec une case à cocher pour la rendre visible ou pas.
    Cela ne peut pas marcher parce que quand tu as la case cocher que tu donnes cette instruction cela veut dire filtre moi cet item donc plus visible mais la ligne ne sera pas traité.
    cette instruction revient à faire un filtre que ce soit cocher ou pas c'est je veux filtrer ou pas mon élément

Discussions similaires

  1. Réponses: 1
    Dernier message: 04/03/2011, 14h09
  2. [Toutes versions] Problème d'intégration champs dans un tableau croisé dynamique
    Par astridlet dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 29/12/2010, 17h59
  3. [AC-2007] décimales sur champ dans un tableau croisé dynamique
    Par GILLES_M dans le forum IHM
    Réponses: 2
    Dernier message: 31/10/2010, 17h35
  4. Réponses: 2
    Dernier message: 16/11/2007, 09h59
  5. [VBA-Excel] Faire un filtre dans un tableau croisé dynamique
    Par SFrane dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 27/11/2006, 15h05

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