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 :

Creation de PivotTable difficile


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2009
    Messages : 49
    Par défaut Creation de PivotTable difficile
    Je me sert d'un script afin de créé un tableau croisé dynamique mais ça ne marche pas et l'erreur ne me dis pas grand chose non plus.

    Le script est une adaptation d'un script suggéré par un membre de ce forum, le problème est que son script marche parfaitement sur la feuille d'exemple qu'il m'a envoyé mais lorsque je l'adapte à ma feuille ça ne marche pas indépendemment du fait que je n'ai pas adapté son script de création du PivotTable, j'ai juste ajouté le code nécessaire pour que la plage employée par le PivotTable ne concerne que la section voulue
    je fais une boucle qui cherche le charactère "*" dans une colone, si il n'y est pas la boucle arrête et assigne la ligne finale à une variable ("derligne"), cette modification en soit marche très bien puisque je l'ai testé sans la création du pivot table, je lui demande de sélectionner la ligne derligne et il le fait.

    Donc, j'inclus ici une feuille excel se raprochant énormément de la feuille sur laquelle je travaille, mais seulement la section des heures s'y retrouve.

    Sur le bouton PivotCreate est assigné le script correspondant.

    Quelqu'un peut me dire en quoi le script ne fonctionne pas?
    Me diriger vers une solution?

    merci
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent 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
    Par défaut
    Tu as beaucoup de cellules fusionnées
    de ce fait, le TCD ne va pas fonctionner
    Essaie d'abord d'organiser tes données dans ta feuille "data" de telle sorte que dans chaque colonne il doit être un entête et des données
    Ensuite voyons comment adapter, tu as changé certains noms du TCD

    en plus, vu ta configuration, cette ligne te donnera la dernière ligne donnée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DerniereLigne = Range("A2").End(xlDown).Row
    maintenant, suis-je plus clair?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2009
    Messages : 49
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DerniereLigne = Range("A2").End(xlDown).Row
    ne sera pas bon au final pour moi puisque la section à fournir au TCD est une partie d'une feuille, il y a d'autre trucs en dessous.

    Remarque, si tu exclus toutes les lignes de creation du pivot table et remplace par plage.select tu auras l'ensemble des lignes requise (et colonnes) sélectionné, le script marche bien en ce sens.

    Mais pour les cellules fusionnées je ne savais pas, donc je dois formatter sans fusion?

    Donc, je refais ma mise-en-forme sur le fichier test et vois ce que ça donne, merci

    quand même, puisque je suis curieux, existe-t'il une façons de faire le tout avec des cellules fusionnées (genre plage=sélection complexe de la première colonne de chaque fusion et non des autres et faire la pivottable avec...)?

    voici ou j'en suis:

    j'ai refais ma mise-en-forme afin de n'avoir aucune fusion.

    Le problème reste, l'erreur est:
    The PivotTable field name is not valid. To create a PivotTable report, you must use data that is organized as a list with labeled columns. If you are changing the name of a PivotTable field, you must type a new name for the field

    J'ai été changer dans le code les noms référencé et maintenant tout devrait correspondre, le problème n'était donc pas le nom en soit ou la référence... je crois...

    voir l'attachement qui contient ma progression, plus facile à suivre j'imagine
    Fichiers attachés Fichiers attachés

  4. #4
    Expert éminent 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
    Par défaut Version nouvelle
    Voilà mon aide, ci-joint fichier (finalisé)

  5. #5
    Expert éminent 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
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DerniereLigne = Range("A2").End(xlDown).Row
    partira jusqu'à la dernière date de la colonne A (s'il n'y a pas de cellules vides à l'intérieur)

    ne prends pas en considération les commentaire encore en dessous

    Encore une précision, les entête de colonnes doivent avoir des noms différents, (regardes mon essai dernier)

Discussions similaires

  1. [VB6] Création de composant
    Par Tchetch dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 21/10/2002, 14h52
  2. [c++ builder] creation de surface sur TPanel
    Par JEG dans le forum DirectX
    Réponses: 7
    Dernier message: 23/09/2002, 22h41
  3. [Kylix] SIGSEGV 11 - creation form
    Par pram dans le forum EDI
    Réponses: 1
    Dernier message: 29/08/2002, 15h24
  4. Creation de fiche dynamique
    Par Mouss26 dans le forum C++Builder
    Réponses: 7
    Dernier message: 24/07/2002, 07h56
  5. Creation d une clee dans la registry en VC++
    Par rico27fr dans le forum MFC
    Réponses: 4
    Dernier message: 30/05/2002, 12h36

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