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 :

MAJ multi-TCD via VBA


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 11
    Points : 6
    Points
    6
    Par défaut MAJ multi-TCD via VBA
    Bonjour à Tous,

    Je développe actuellement un fichier Excel dans lequel J'importe dans une des feuilles des données issues d'une application de mon entreprise. Jusque là no pb!

    De là, j'ai 6 TCD sur d'autres feuilles qui "moulinent" sur les données importées. Je précise que j'ai crée un premier TCD et qu'ensuite j'ai copié la feuille x fois afin d'éviter de saturer la mémoire tampon).

    J'ai terminé par un interface sur une feuille avec un ComboBox qui selon la sélection met à jour l'ensemble des TCD avec une macro.

    Hors là où est le pb c'est que certain TCD ne se mettent pas à jours au niveau des données. Pourtant ma plage de données est fixe et plus grande que l'import afin d'éviter de louper des lignes.

    Sachant qu'après l'import j'actualise automatiquement tous les TCD

    Quelqu'un a une idée?

    D'avnce merci à tous

  2. #2
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonjour.

    Est-ce que les TCD qui semblent ne pas se mettre à jour :
    n'ont pas les bonnes valeurs
    ou n'ont pas la bonne sélection des champs de pages?

    Est-ce que tu arrives à mettre à jour "à la main" ces TCD récalcitrants?

    Cordilement,

    PGZ

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Bonjour,

    En fait ils se mettent à jour. Les données ne sont pas les bonnes.
    Et parfois le choix est inexistant dans la liste en manuel.
    C'est vrai que je force un peu les TCD cependant tous les choix que je demande sont obligatoirement présent dans les données sources.

    Pourquoi parles-tu des champs de page?

    Je pense que je vais refaire un essai complet en repartant des données importées et je vous tiens au courant.

    Bonne nuit

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    218
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 218
    Points : 156
    Points
    156
    Par défaut
    Bonjour,

    Je travaille également sur un modèle de ce genre.


    J'ai une table importé de donnée extérieur que je mets en forme à l'aide d'un TCD.

    En amont de mon TCD, je détermine la plage de donnée avec ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Plage = Sheets("Data").Range(Cells(2, 1), Cells(Sheets("Data").Range("A65536").End(xlUp).Row, _
                    Sheets("Data").Range("IV2").End(xlToLeft).Column)).Address

    Ensuite j'insère Plage dans l'entête de ma routine TCD

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
    Plage).CreatePivotTable TableDestination:=Sheets("Balance_Géné").Range("A1"), TableName:= _
    "Tableaucroisédynamique2"

    au moins tu auras déjà une plage dynamique


    par ailleurs, j'ai déjà utilisé une actualiation de tous tes TCD par une seule ligne de commande, je ne sais pas si c'est cette routine que tu utilises.

    en gros quelques chose comme ça : PivotTable refresh ALL


    quelqu'un pourra te donner la syntaxe exacte si il le faut

Discussions similaires

  1. [XL-2003] regroupement valeur dans TCD via VBA
    Par yanou91 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 12/02/2013, 16h34
  2. [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, 21h23
  3. [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, 10h59
  4. E-XP : création TCD via VBA.
    Par gillou13 dans le forum Excel
    Réponses: 1
    Dernier message: 27/02/2009, 21h42
  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, 11h41

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