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 :

Tab Dynamique et données qui disparaisse au refresh [XL-2000]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 60
    Par défaut Tab Dynamique et données qui disparaisse au refresh
    Bonjour,

    Je débute en macro.

    Je créer une macro qui fait à peu près cela :

    - importation de données dans un onglet "données"
    - création de colonnes supplémentaires
    - mise à jour d'un tableau dynamique basé sur les données de l'onglet "données".

    le tableau est déjà créé dans le fichier Excel et je souhaite juste le mettre à jour.
    Mon problème est qu'à la mise à jour il ne trouve plus certaines colonnes de données.

    Je le mets à jour avec le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ThisWorkbook.Worksheets("Nb de ligne par user").PivotTables("TD1").PivotCache.Refresh
    une idée de ce qui pourrait poser problème ?

    Merci d'avance
    DaD

  2. #2
    Membre Expert
    Avatar de tototiti2008
    Homme Profil pro
    Formateur/développeur
    Inscrit en
    Octobre 2008
    Messages
    1 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Formateur/développeur

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 207
    Billets dans le blog
    2
    Par défaut
    Bonjour DaD,

    Lors de sa création un TCD est basé sur une plage de cellules définie, si celle-ci ne prend pas en compte toutes tes colonnes ou toutes tes lignes, les données manqueront dans ton TCD
    Cliques dans le TCD,
    Tableau croisé dynamique - Assistant tableau croisé
    Bouton Précédent pour voir la plage associée

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 60
    Par défaut
    Merci tototiti2008 pour ta réponse.

    Effectivement, je vois que ma plage à été modifiée.
    J'ai mis au départ Données!$A:$L, et là c'est Données!$A:$K...
    comment est ce que je peux re checker la plage de données avant la mise à jour?

  4. #4
    Membre Expert
    Avatar de tototiti2008
    Homme Profil pro
    Formateur/développeur
    Inscrit en
    Octobre 2008
    Messages
    1 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Formateur/développeur

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 207
    Billets dans le blog
    2
    Par défaut
    Re,

    Pour la "rafraichir", tu peux essayer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
       ThisWorkbook.Worksheets("Nb de ligne par user").PivotTables("TD11").PivotCache.SourceData = _
            "Données!" & Sheets("Données").Range("A1").CurrentRegion.Address(ReferenceStyle:=xlR1C1)

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 60
    Par défaut
    ça marche impec, merci....

    Histoire que je comprenne, peux tu m'expliquer cette partie de code, stp : ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    & Sheets("Données").Range("A1").CurrentRegion.Address(ReferenceStyle:=xlR1C1)

  6. #6
    Membre Expert
    Avatar de tototiti2008
    Homme Profil pro
    Formateur/développeur
    Inscrit en
    Octobre 2008
    Messages
    1 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Formateur/développeur

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 207
    Billets dans le blog
    2
    Par défaut
    Bonjour DaD,

    Lorsque tu changes la source de ton TCD, il attend la référence à la plage source sous la forme "NomFeuill!R1C1:R25C32"

    Donc l'adresse des cellules en style R1C1 (ou L1C1 en french )
    Bon, sachant ça, on va décortiquer :

    Sheets("Données").Range("A1")
    Bon, ça c'est la cellule A1 de la feuille Données, je pense qu'il n'y a pas de soucis

    .CurrentRegion
    CurrentRegion va prendre les cellules remplies autour de la cellule A1 citée précédemment.
    C'est comme si tu sélectionnait A1 en feuille Données, et que tu faisait Ctrl *
    ça devrait sélectionner toutes les cellules contenant des données autour de A1, donc bien ce qui t'intéresse

    .Address(ReferenceStyle:=xlR1C1)
    Adresse de ces cellules en style R1C1

    Pense à regarder l'aide VBA, il y a pas mal d'infos disponibles

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

Discussions similaires

  1. [XL-2010] type de données qui contient un tableau dynamique
    Par Patnel dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 02/09/2013, 11h39
  2. [XL-2007] TCD et etiquette qui disparaisse lors d'un refresh
    Par DaD92 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 06/03/2012, 20h14
  3. Données qui disparaissent
    Par Fr33dom dans le forum Sécurité
    Réponses: 5
    Dernier message: 05/07/2010, 15h35
  4. Réponses: 1
    Dernier message: 19/01/2008, 12h55
  5. [8.5] Données qui disparaissent
    Par Gotch59 dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 15/05/2007, 17h43

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