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 :

Automatisation TCD Excel 2003


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 2
    Par défaut Automatisation TCD Excel 2003
    Bonsoir à tous,

    J'ai besoin d'un coup de main car je n'arrive pas à franchir un obstacle vital.
    Je suis entrain de créer une macro pour automatiser un TCD et tout se passe bien sauf un point : je voudrais que le TCD puisse se créer quelque soit le nom de l'onglet qui contient la source de données.

    Voici le code actuel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
            "'Commercial 1'!R3C1:R1500C28").CreatePivotTable TableDestination:="", _
            TableName:="TCD", DefaultVersion:=xlPivotTableVersion10
    Le code fait actuellement référence à l'onglet "commercial 1" mais comme chaque utilisateur doit mettre son nom à l'onglet, "commercial 1" peut devenir "Patrick", "Christophe"...
    j'ai bien tenté de mettre le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
            "sheets(1)!R3C1:R1500C28").CreatePivotTable TableDestination:="", _
            TableName:="TCD", DefaultVersion:=xlPivotTableVersion10
    mais ça ne marche pas...

    Des idées ?
    Merci beaucoup et bon développement à tous !
    Nicolas

  2. #2
    Membre Expert
    Avatar de cb_60
    Homme Profil pro
    Chargé de mission technique
    Inscrit en
    Juillet 2007
    Messages
    1 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chargé de mission technique
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 253
    Billets dans le blog
    14
    Par défaut
    Bonsoir
    Sur ta feuille de base nomme ta zone de cette façon:
    Nom = TCD
    formule = tes cellules de reference.
    exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TCD	=DECALER(Feuil2!$A$1;;;NBVAL(Feuil2!$A:$A);NBVAL(Feuil2!$1:$1))
    ensuite dans ta macro mets cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:="tcd"). _
            CreatePivotTable TableDestination:="", TableName:= _
            "TCD", DefaultVersion:=xlPivotTableVersion10
    cela permet de ne plus faire reference à la feuille mais à la zone nommée (on peut donc renommer les feuilles)
    L'imagination est plus importante que le savoir.... A . Einstein. :pastaper:
    https://www.developpez.net/forums/blogs/179588-cb_60/
    Merci de cliquer sur :resolu:pour clore cette discussion.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 2
    Par défaut MERCI !!!!
    Merci beaucoup ça fonctionne parfaitement !!!

    J'avais complétement oublié que l'on pouvait nommer une plage de cellules !

    J'étais entrain de me prendre la tête et la solution était toute bête mais il fallait y penser... vraiment merci mille fois !

    Du coup je bloque maintenant sur un nouveau sujet

    Une des colonnes s'intitule "N° semaine" et j'aimerais que l'utilisateur puisse filtrer cette colonne en sélectionnant un numéro de semaine et que le TCD ne prenne que les infos filtrées et non toutes les cellules jusqu'à 1500 comme c'est le cas pour le moment.

    Je ne peux pas utiliser la propriété

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("XX").currentregion.select
    car j'ai des données au-dessus que je ne veux pas sélectionner donc je suis entrain de créer un petite interface pour demander à l'utilisateur de saisir le numéro de semaine dans une txtbox et ensuite je l'applique dans le TCD mais ça me parait bien compliqué... aurais-tu une dernière idée magique plus simple ? (je sais j'abuse un peu)

  4. #4
    Membre Expert
    Avatar de cb_60
    Homme Profil pro
    Chargé de mission technique
    Inscrit en
    Juillet 2007
    Messages
    1 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chargé de mission technique
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 253
    Billets dans le blog
    14
    Par défaut
    Bonjour
    Je pense que pour la semaine tu devrais utiliser, la fonction grouper de ton TCD. Une fois celui ci crée, il est très facile de filtrer le TCD
    L'imagination est plus importante que le savoir.... A . Einstein. :pastaper:
    https://www.developpez.net/forums/blogs/179588-cb_60/
    Merci de cliquer sur :resolu:pour clore cette discussion.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/02/2008, 18h45
  2. [EXCEL 2003] TCD - mise en forme par macro après rafraîchissement
    Par paul42 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 14/11/2007, 03h21
  3. Réponses: 9
    Dernier message: 20/09/2007, 12h55
  4. TExcelApplication - Excel 2003
    Par Leesox dans le forum Langage
    Réponses: 18
    Dernier message: 03/11/2005, 13h40
  5. [VB.NET] Problème avec un OptionButton dans Excel 2003
    Par alfprod dans le forum Windows Forms
    Réponses: 3
    Dernier message: 09/09/2004, 13h40

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