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 :

Différence entre TCD.PivotCache.Refresh et TCD.Update ? [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 407
    Par défaut Différence entre TCD.PivotCache.Refresh et TCD.Update ?
    Bonjour à toutes et tous et merci de votre temps et de votre aide.

    J'ai eu un bug étrange avec un tableau croisé dynamique.

    Jusqu'à présent j'utilisais du code du genre TCD.Update (où TCD est un objet PivotTable) et mon TCD se mettait à jour sans problème.
    Dans mon dernier classeur j'ai constaté que le TCD ne se mettait pas à jour bien que le .Update soit appellé.
    J'ai lancé l'enregistreur de macro et j'ai vu qu'il appelait TCD.PivotCache.Refresh.

    J'avoue être perplexe, quelle est la différence ente .update et .PivotCache.Refresh ?

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  2. #2
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 370
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 370
    Par défaut
    Bonjour,

    D'après cet article la distinction est essentiellement la suivante :

    Update : mise à jour d'un seul tableau croisé dynamique.

    Refresh : rafraichissement de tous les TCD utilisant la même source de données. Ainsi si on a deux sources de données, Data1 et Data2, le fait de rafraîchir un TCD utilisant les données de Data1, rafraîchira tous les TCD utilisant les données de Data1 (et pas les TCD utilisant les données de Data2).

    RefreshAll : rafraichissement de tous les TCD du dossier (workbook).

    Refresh fait aussi quelque chose que Update ne fait pas: un "rafraîchissement de la liste des champs".
    Lorsqu'Excel fait un Update (une mise à jour), il présume que la structure de la source de données sous-jacente n'a pas changé. Ainsi, si un nouveau champ y a été ajouté, la liste des champs ne le reprendra pas.

    Et si j'ai bien compris, PivotCache.Refresh : lorsque plusieurs TCD utilisent le même cache, ce cache est rafraichi et tous les TCD qui l'utilisent.

    Cordialement.

  3. #3
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 407
    Par défaut
    OK et merci de ces précisions.

    Donc étrange que mon Update n'ai pas fonctionné, je ne change que la valeur dans une formule.

    Je vais tout de même intégrer le .Refresh à mon code habituel. Ceinture et bretelles, on a moins de chance de se faire prendre les culottes à terre :-).

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

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

Discussions similaires

  1. Liens entre TCD
    Par Au pays des stats dans le forum Conception
    Réponses: 9
    Dernier message: 01/06/2015, 21h43
  2. Réponses: 0
    Dernier message: 21/04/2014, 19h52
  3. Différence entre deux colonnes dans un TCD
    Par LEGAPH dans le forum Deski
    Réponses: 4
    Dernier message: 27/08/2013, 17h10
  4. Réponses: 4
    Dernier message: 18/06/2010, 13h27
  5. différence entre open et refresh
    Par rvzip64 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 04/10/2008, 10h57

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