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 :

[E-03] Générer un tableau croisé dynamique depuis un UserForm


Sujet :

Macros et VBA Excel

  1. #1
    Débutant
    Inscrit en
    Décembre 2007
    Messages
    1 235
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 1 235
    Points : 269
    Points
    269
    Par défaut [E-03] Générer un tableau croisé dynamique depuis un UserForm
    Bonjour, j'ai une question toute simple, est il possible de générer un tableau croisé dynamique sur mesur selon la demande de l'utilisateur.

    Je ne sais pas exactement comment faire, mais dans l'idée, l'utilisateur (en l'occurence une personne qui va en réunion et qui a besoin en fonction des demandes des autres membres présent, de ressortir des informations), ouvrirait un UserForm, dans lequel il choisiré les champs qu'il souhaiterais voir apparaitre dans le tableau croisé, de tel date à tel date...

    Je ne sais pas du tout si d'une c'est possible, et si il existe déja des tutoriels traitant de ce sujet.

    C'est pourquoi je vous solicite.

    Cordialement

  2. #2
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonjour.

    On peut créer un TCD en VBA. Et on peut questionner un opérateur en utilisant un userform sur ce qu'il veut.
    Mais je ne vois pas l'intérêt de la manip, sauf si le choix offert est restreint.
    En effet, si l'opérateur a tous les choix offerts par les commandes dans une feuille XL, il va falloir qu'il apprenne à utiliser le userform qui sera très compliqué. Autant apprendre les commandes d'XL. Non?

    PGZ
    pluritas non est ponenda sine necessitate - Le rasoir d'Okham
    Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon

  3. #3
    Débutant
    Inscrit en
    Décembre 2007
    Messages
    1 235
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 1 235
    Points : 269
    Points
    269
    Par défaut
    Heu je comprend pas...

    Apprendre à se servir d'un UserForm???

    Moi ce que je pensé c'était avoir un UserForm avec des CheckBox, ou des combobox afin de faire le choix de ce que je souhaiter voir apparaitre dans mon tableau croisé dynamique.

    On est d'accord, pour le moment, si je veux créer un tableau croisé dynamique, il faut que j'aille dans Données/Rapport tableau croisé dynamique... Et qu je positionne dans "Disposition" comment je souhaite afficher mes données.

    Moi se que je voudrais faire, c'est quelque chose de plus convivial, la personne veux extraire des données de la feuille excel, elle appui sur un bouton, sa lui ouvre le UserForm avec les données à afficher dans le tableau croisé dynamique.

    Elle veux par exemple voir apparaitre la somme des temps d'intervention, elle clique sur la checkbox "Temps d'intervention", ensuite elle clique sur la checkbox "Somme".... Bref dans le principe je pense que vous voyez ce que je veux faire non?

    Après je valide et sa me ferme mon UserForm et sa me génere mon tableau croisé dynamique.

  4. #4
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Citation Envoyé par moilou2 Voir le message
    Heu je comprend pas...

    Apprendre à se servir d'un UserForm???
    Ce que je veux dire c'est que la conception de ce ufrm est un problème d'IHM.
    En reprenant ton exemple : si l'opérateur veut les temps d'intervention par client et par trimestre entre date1 et date2, et s'il veut faire des groupements de clients, s'il veut choisir des clients particuliers, s'il veut les présenter dans un ordre arbitraire, ou autre joyeuseté, tu t'imagines la complexité du ufrm?
    Et il faudra bien que l'opérateur apprenne à s'en servir.
    Et c'est là que je dis qu'on dispose déjà d'une IHM, celle d'XL.

    A moins comme je te le disais qu'il ne puisse demander que des choses simples. Dans ce cas il faut commencer par spécifier c'est-à-dire par expliciter ce que l'opérateur pourra demander. Ce qui conduit à la conception du ufrm. Ensuite pour programmer c'est assez simple. Tout commence par un .add à une collection Pivottables.

    Mais je n'ai peut-être rien compris à ce que tu voulais faire.
    pluritas non est ponenda sine necessitate - Le rasoir d'Okham
    Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon

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

Discussions similaires

  1. [XL-2013] Générer un tableau croisé dynamique : erreur de propriété PivotFields
    Par Froth dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 29/01/2015, 13h57
  2. Réponses: 1
    Dernier message: 04/01/2012, 17h12
  3. rapprt de tableau croisé dynamique sur un userform
    Par getule dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/07/2007, 19h25
  4. Réponses: 1
    Dernier message: 12/01/2007, 08h36

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