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 :

Macro pour une mis a jour de selection multiple dans le


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Juin 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 2
    Par défaut Macro pour une mis a jour de selection multiple dans le
    Bonjour,

    J'utilise des tableaux Croisés dynamiques avec une source exterieure : cube OLAP.

    J'ai plusieurs macro pour mettre mes tcd a jour a partir d'une cellule excel «normale» dans le meme classeur qui fonctionne bien.

    Celle ci va dans l'onglet : ALLPF (feuille ou sont les TCD) et va changer le champ qui va bien en fonction de ce qu'il y a dans mon onglet : List

    Pour l'exemple j'ai limité a un seul TCD.

    La macro

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     With Sheets("ALLPF")
     .PivotTables("TCD1").PivotFields("[XXXX].[YYYYY]").CurrentPageName = Sheets("List").Cells(12, 15).Value
     End With
    ce que l'on trouve dans la cellule de l'onglet List :

    Cells(12, 15) ->>> [XXXX].[YYYYY].[zzzzzz].&[name]


    Maintenant si je veux faire une selection multiple dans ce filtre :

    comment dois je ecrire la macro ?
    J'ai essayer plusieurs choses qui ne marchent PAS :

    Le «;»

    [XXXX].[YYYYY].[zzzzzz].&[name];[XXXX].[YYYYY].[zzzzzz].&[name2];[XXXX].[YYYYY].[zzzzzz].&[name3]

    mais egalement les «:», «&», etc...

    Auriez vous une solution ?

    D'avance merci.

  2. #2
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 122
    Par défaut
    Salut et bienvenu
    Citation Envoyé par Aide Excel
    Cette méthode renvoie un objet qui représente soit un seul rapport de tableau croisé dynamique (un objet PivotTables), soit une collection de tous les rapports de tableaux croisés dynamiques (un objet PivotTables) sur une feuille de calcul. En lecture seule.
    Je n'utilise pas les TCD, mais en lisant l'aide il me semble bien que tu ne pourras pas faire comme tu le souhaites, je pense qu'il te faudra boucler sur une liste de TCP

    Méthode: Tu crée une liste au format texte contenant les noms des Table que tu souhaites modifier, puis ensuite tu crées une boucle for pour incrémenter un entier, tu utilise cet entier pour pointé sur les différentes entrée de ta liste de Table.

    [Edit] en regardant pour te faire un bout de code je me rend compte que je me suis trompé, je t'ai parlé des TCD au lieu des field, mais le principe reste le même[/Edit]

    A++
    Qwaz

    Re
    Regardes si ce code te convient, n'ayant pas la structure du fichier je ne peux pas tester le code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub essai()
    Dim Liste()
    Dim I As Integer
    Liste = Array("XXXX", "YYYY", "ZZZZ")
     
    For I = 0 To UBound(Liste) - 1
        Sheets("ALLPF").PivotTables("TCD1").PivotFields(Liste(I)).CurrentPageName = Sheets("List").Cells(12, 15).Value
    Next
     
    End Sub
    Si tu souhaites boucler sur tous les Fields du TCD il existe une autre solution je pense avec une boucle for each pointant sur la collection Fields de ton TCD dis moi.

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  3. #3
    Nouveau candidat au Club
    Inscrit en
    Juin 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 2
    Par défaut
    Merci je vais essayer ca aujourdhui, je te tiens au courant.

    Le but est surtout de pouvoir selectionner plusieurs element dans un champ qui est dans le filtre d'un TCD.

    J'arrive a Macro la selection d'un seul element mais pas une selection multiple.

Discussions similaires

  1. Macro pour une recherche suivi d'un copier/coller
    Par Laura-c dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 07/04/2011, 16h19
  2. problème sur une macro pour une conversion en VB6.3
    Par Zoldick dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/06/2008, 14h41
  3. comment forcer l'exécution des macros pour une seule base ?
    Par tristan_sauvage dans le forum Access
    Réponses: 4
    Dernier message: 21/08/2006, 11h59
  4. Macro pour une impression ne fonctionne pas
    Par aujero dans le forum Access
    Réponses: 2
    Dernier message: 01/06/2006, 17h23
  5. TADOTable VS TADOQuery pour une mise a jour
    Par okparanoid dans le forum Bases de données
    Réponses: 7
    Dernier message: 07/11/2005, 11h53

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