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 :

Création de plusieurs slicers TCD - Excel VBA


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 9
    Points : 3
    Points
    3
    Par défaut Création de plusieurs slicers TCD - Excel VBA
    Bonjour,

    Je souhaite ajouter un slicer à un TCD. J'ai donc créé une macro qui créée mon TCD et mon slicer sur une nouvelle feuille Excel.
    Jusque là tout va bien, puisque mon TCD est bien généré et le slicer aussi.

    Cependant, quand je relance la macro pour recréer un nouveau TCD et un nouveau slicer sur une nouvelle feuille, j'ai une erreur "Invalid procedure call or argument". Cette erreur survient à la dernière ligne du code ci dessous lorsque je lance ma macro pour la deuxième fois. Il n'y a pas de soucis la première fois.

    Voici mon code pour la création de slicer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Dim r As SlicerCaches
    Dim s As Slicers
    Dim t As Slicer
     
     
    Set r = ActiveWorkbook.SlicerCaches
    Set s = r.Add(ActiveSheet.PivotTables("PivotTable1"), "Country").Slicers
    Set t = s.Add(ActiveSheet, , "Country 2", "Country Name", 13, 13, 200, 210)
    Comment ne pas avoir cette erreur lorsque je lance ma macro une deuxième fois ?

    Merci par avance pour votre aide,

    Cordialement

  2. #2
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Salut.

    Es-tu certain de ton activesheet au moment de relancer la macro?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  3. #3
    Expert éminent sénior

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

    Le slicer est indépendant de la feuille : tu ne peux avoir plusieurs slicers de même nom dans un même classeur
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Merci pour vos réponses.

    Oui j'en suis sur puisque la macro fonctionne au premier lancement.

    J'ai essayé de changer le nom du slicer quand je relance la macro pour la deuxième fois. Cela veut-il dire qu'on ne peut créer qu'un slicer par champ dans un classeur ? Si un slicer est affecté à un TCD, il devrait être possible de créer plusieurs slicer identique si ils sont chacun affecté à des TCDs différents, non ?

    Merci par avance,

  5. #5
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 420
    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 420
    Points : 16 264
    Points
    16 264
    Par défaut
    Re

    Non car au contraire un slicer unique peut être connecté à tous les TCD basés sur une même source afin de les synchroniser d'un clic.

    Mais tu peux créer plusieurs slicers pour un même champ, il faut juste que chaque slicer porte un nom différent : Vendeur, Vendeur 1, Vendeur 2... etc
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

Discussions similaires

  1. [AC-2007] Création d'un Tableau Croisé Dynamique (TCD) Excel depuis VBA Access
    Par Largo38 dans le forum VBA Access
    Réponses: 0
    Dernier message: 17/07/2013, 12h36
  2. Création de rapport Word depuis Excel VBA
    Par SeB18 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/12/2012, 15h19
  3. Création d'une nouvelle fonction Excel (VBA)
    Par alinehg dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 27/05/2008, 20h20
  4. excel VBA comment recopier sur plusieurs feuilles
    Par floflo2006 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 26/11/2005, 15h56
  5. [excel vba]case à cocher dans excel pour plusieurs lignes
    Par fcoisb dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 02/03/2005, 11h23

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