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 :

comment Actualiser TCD par VBA quelque soit son nom ?


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Femme Profil pro
    Contrôleur de gestion
    Inscrit en
    Avril 2015
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Contrôleur de gestion
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2015
    Messages : 30
    Points : 17
    Points
    17
    Par défaut comment Actualiser TCD par VBA quelque soit son nom ?
    Bonjour,

    Je cherche à actualiser le tcd présents sur les feuilles d'un fichier excel mais il se peut que le nom du TCD soit parfois différents, y aurait il un moyen pour que le code traite le tcd sur lequel on se positionne quelque soit son nom ?


    Voici le code basic :

    avec TCD ="Tableau croisé dynamique1"
    et nom de la feuille = "1420"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
            "Code Centre de coût").ClearAllFilters
        ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
            "Code Centre de coût").CurrentPage = "1420"
    merci pour votre aide

  2. #2
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 518
    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 518
    Points : 16 448
    Points
    16 448
    Par défaut
    Bonjour

    Pour traiter un TCD par VBA, il est préférable de lui avoir donné un nom.

    Mais sinon on peut faire une boucle sur l'ensemble des TCD de la feuille, voire une double boucle feuilles et TCD
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    For Each SH In ThisWorkbook.Worksheets
            For Each TCD In SH.PivotTables

    Edit : ton code n'actualise pas, il filtre. Ce sont 2 choses bien différentes. Mais le code que j'ai donné marchera dans les 2 cas, selon ce que tu mettras dans la boucle.

  3. #3
    Membre éclairé
    Avatar de tamtam64
    Homme Profil pro
    stagiaire developpement vba
    Inscrit en
    Mai 2012
    Messages
    456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : stagiaire developpement vba
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2012
    Messages : 456
    Points : 658
    Points
    658
    Billets dans le blog
    17
    Par défaut
    et avec un application.calculate?
    ca permet de mettre a jour les calculs

  4. #4
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 518
    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 518
    Points : 16 448
    Points
    16 448
    Par défaut
    Bonjour

    Citation Envoyé par tamtam64 Voir le message
    et avec un application.calculate?
    ca permet de mettre a jour les calculs
    Les tableaux croisés, contrairement aux formules, ne se calculent pas. Il faut les actualiser.

  5. #5
    Membre à l'essai
    Femme Profil pro
    Contrôleur de gestion
    Inscrit en
    Avril 2015
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Contrôleur de gestion
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2015
    Messages : 30
    Points : 17
    Points
    17
    Par défaut
    oui oui ca je savais, et comment sont déclarés SH et TCD ? SH = sheets et TCD = PivotTables ?

  6. #6
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 138
    Points : 9 972
    Points
    9 972
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Sheets c'est la collection des Sheet (Feuille)
    PivotTables c'est la collection des PivotTable (TCD)

    Quand on parcours une collection, on utilise une variable qui représente un objet de la collection

    donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dim SH as Sheet
    Dim TCD as PivotTable
    le s à la fin de ces types de variable représente la collection
    s'il n'y a pas de s : c'est un objet de la collection

Discussions similaires

  1. Réponses: 6
    Dernier message: 11/11/2013, 03h53
  2. FlowDocument : définir une longueur de table quelque soit son contenu ?
    Par superkiller dans le forum Windows Presentation Foundation
    Réponses: 0
    Dernier message: 17/06/2010, 17h14
  3. Manipulation TCD par VBA
    Par stan057 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/06/2010, 14h23
  4. Lire un fichier quelque soit son type en php
    Par sonia5 dans le forum Langage
    Réponses: 8
    Dernier message: 25/05/2007, 09h27
  5. [VB] ouvrir un fichier quelque soit son extension.
    Par gopal dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 05/05/2006, 20h59

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