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 :

Effacer TCD via Macro [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Mars 2012
    Messages : 27
    Points : 18
    Points
    18
    Par défaut Effacer TCD via Macro
    Bonjour à tous,

    Voilà j'ai une macro qui crée automatiquement un Tableau Croisé Dynamique, jusque là tout fonctionne comme prévu.

    Mais la base de données du Tableau Croisé Dynamique est vouée à évoluer dans le temps, et le nombre de ligne renseignées avec, ce qui signifie qu'une simple mise à jour ne sera pas suffisante puisqu'elle reprendra la même plage de données, sans considérer les lignes qui ont été ajoutées à la base de données entre temps.

    Ainsi, dans un soucis de simplicité, j'avais prévu qu'au lancement de la procédure, celle-ci efface le tableau croisée dynamique précédemment créé, et en créé un nouveau qui prendrait en compte toutes les lignes via une variable qui serait elle même la dernière ligne renseignée.

    Mais voilà, problème, au lancement de la macro, impossible d'effacer le tableau croisé dynamique, erreur 1004 "définie par l'objet ou l'application". La procédure bloque à la ligne "ClearContents".
    J'avais déjà observé cette erreur lorsqu'on essaye d'effacer un TCD manuellement, mais en sélectionnant les colonnes, cela fonctionnait finalement.
    Mais via macro, ça bloque.

    Auriez-vous une solution ???
    Toute aide serait la bienvenue

    Je précise quand même que toutes les étapes du code, testées séparément, fonctionnent, le probème se situe vraiment au moment d'effacer le TCD précédemment créé.

    D'avance merci beaucoup

  2. #2
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Au lieu d'effacer ton TCD, nomme dynamiquement ta plage, source de donnée.

    Regarde la FAQ
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Mars 2012
    Messages : 27
    Points : 18
    Points
    18
    Par défaut
    Oui j'en suis venu à cette conclusion en attendant une réponse, je connaissais pas toutes les fonctions du TCD et je savais pas qu'on pouvait mettre à jour la base de données, maintenant c'est fait.

    Merci pour la réponse

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

Discussions similaires

  1. MAJ TCD VIA MACRO
    Par ahmedbm dans le forum Excel
    Réponses: 4
    Dernier message: 29/11/2014, 13h19
  2. [XL-2010] TCD via Macro, erreur d'exécution '1004'
    Par Jimmy G. dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 28/07/2014, 10h06
  3. [XL-2007] Création Tcd via macro
    Par deaqu1 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/04/2013, 15h25
  4. [Toutes versions] filtre TCD via macro vba sur texte contenu
    Par fomy dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 31/08/2012, 09h35
  5. mise en forme TCD via macro vba
    Par Vinzz974 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/02/2012, 15h48

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