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 :

Mise à jour automatique du tableau croisé dynamique [XL-2019]


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Avril 2019
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2019
    Messages : 50
    Par défaut Mise à jour automatique du tableau croisé dynamique
    Bonjour à tous !
    J'ai besoin d'aide avec le tableau croisé dynamique.
    J'ai un classeur avec 11 tableaux s'étendant sur 11 feuilles dont chacun a son propre tableau croisé dynamique. Tous les 11 tableaux croisés dynamiques se trouvent sur une même feuille dans des pages différentes.

    Je voudrais pouvoir à l'aide d'un code VBA, voir les tableaux croisés dynamiques se mettent à jour automatiquement quand je saisis les données dans leur tableau source par exemple, sans que j'ai à aller cliquer sur "Analyse" puis "Actualiser tout".

    Voici un code que j'ai trouvé sur le Net et lequel était sensé répondre à mon besoin. J'y ai déjà inclus le nom d'une de mes feuilles et de son tableau croisé dynamique, mais ça ne marche pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Worksheet_Change(ByVal Target As Range)
    Worksheets("Pyt Det").PivotTables("Tableau croisé dynamque11").PivotCache.Refresh
    End Sub
    Merci pour votre aide

  2. #2
    Membre Expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 871
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Tes tableaux sont-ils des Tableaux Structurés

    Parce si c'est le cas cela doit se faire tout seul

    https://fauconnier.developpez.com/tu...ux-structures/

  3. #3
    Expert éminent

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

    Si la source est bien définie, pour mettre à jour les TCD ceci suffit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveWorkbook.RefreshAll
    Peut être associé à l'activation d'un des onglets porteur de TCD...

  4. #4
    Membre averti
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Avril 2019
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2019
    Messages : 50
    Par défaut Merci pour vos réponses !
    Bonjour et merci pour vos réponses.

    Mes tableaux croisés dynamique se trouvent sur une feuille que les utilisateurs n'ont pas besoin d'ouvrir. Ils peuvent même ignorer cette feuille du classeur.
    Je voudrai qu'ils se contentent juste de faire entrer les données sur les tables sources qui sont des tables structurées et qu'en même temps leurs tableaux croisés se mettent à jour sans que l'on ait à activer (ouvrir) la feuille où ils ses trouvent.
    Je voudrais bien un code VBA qui, rien qu'à la saisie dans les tables sources, les tableaux croisés se mettent directement à jour.

    Merci

  5. #5
    Expert éminent

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

    Mettre à jour des TCD à chaque saisie dans une cellule ne me parait pas une bonne idée.

    Je pense qu'il faudrait mieux préciser ton processus.

  6. #6
    Membre averti
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Avril 2019
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2019
    Messages : 50
    Par défaut Bonjour !
    Je viens de clôturer cette discussion car j'ai réussi à actualiser mes TCD à chaque fois qu'un événement se produit sur la table structurée source.
    J'ai placé le code ci-dessous dans chaque feuille ou se trouve la table structurée source :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Worksheet_Change(ByVal Target As Range)
    Worksheets("Non de la feuille du TCD").PivotTables("Nom du TCD").PivotCache.Refresh
    End Sub
    Je trouve que cela marche plutôt très bien. Cela a été fait pour la sauvegarde des données au cas où l'utilisateur de ce ficher oublierait de cliquer sur "Analyse", puis "Actualiser tout". Puisque ces TCD sont archivés automatiquement à l'aide d'un code VBA lorsque l'utilisateur imprime le classeur (les tableaux structurés sources). Voila la raison qui m'a poussé à une actualisation automatique de ces TCD, sans l'intervention de l'utilisateur pour les actualiser.

    Cela étant résolu, cette discussion est maintenant close. j'espère toujours vos réponses pour d'autres défis que je rencontrerai sur Excel VBA.

    Merci à tous.

  7. #7
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 548
    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 548
    Par défaut
    RE

    Comme déjà dit, une actualisation par cellule modifiée va ralentir l'utilisation le classeur de plus en plus au fur et à mesure que la source va croître.

    Il serait plus logique de le prévoir avant l'impression ou autres moments clés.

    On risque d'en reparler dans quelques mois...

  8. #8
    Membre averti
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Avril 2019
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2019
    Messages : 50
    Par défaut Merci à Chris pour la remarque !
    Bonjour Chris !

    Au fait, les tableaux structurés sources de ces TCD ne sont remplis que journellement et se vident automatiquement après leur archivage en PDF à l'aide d'une macro. Pour permettre leur remplissage à nouveau le jour suivant.

    Mais j'ai plutôt remarqué que le TCD ne deviennent pas vides de données lorsque leurs tableaux sources sont rendus vierges par la macro. Leurs données restent et ne se mettent à jour qu'à l'insertion de nouvelles données dans leur tableaux structurées sources.

    Mais je voudrais bien que ces TCD deviennent vierge une fois que la macro qui archive en PDF et efface les données dans les tableaux structurées sources est activés.
    C'est dire que l'effacement des données de tableaux sources par cette macro ne constitue pas une activités pour que les TCD se mettent aussi à jour en se vidant.

    Je ne sais pas si cela serait possible que les TCD se vident aussi dès que la macro efface les données de leurs tableaux structurées sources.

    Merci

  9. #9
    Expert éminent

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

    L'actualisation du TCD après vidage a sans doute été oubliée dans le processus...

  10. #10
    Membre averti
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Avril 2019
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2019
    Messages : 50
    Par défaut Bonjour Chris !
    Bonjour Chris ! Merci pour la réponse.
    Je viens de créé une nouvelle discussion sur ce problème. J'ai inséré le code dans le message et indiqué la zone ou se trouve le problème.
    Tu pourras peut-être le consulté et voir ce qu'il en est.
    Voici l'intitulé du sujet : SOS SUR UN CODE D'UNE MACRO !
    Merci

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

Discussions similaires

  1. Ajout et Mise à jour automatique ligne tableau excel (ListObjects)
    Par fcauwe dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 09/08/2019, 10h40
  2. [XL-2010] VBA pour creer automatiquement un Tableau Croisé Dynamique
    Par tomtiiti dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 14/11/2016, 16h52
  3. Réponses: 4
    Dernier message: 05/05/2015, 16h22
  4. [XL-2010] Problème - mise à jour automatique TCD et graphes dynamiques
    Par sstrac dans le forum Macros et VBA Excel
    Réponses: 29
    Dernier message: 18/02/2014, 13h49
  5. Mise à forme d'un tableau croisé dynamique
    Par Oluha dans le forum Access
    Réponses: 16
    Dernier message: 20/02/2006, 09h14

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