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 :

[VB Excel] Problème avec le nom automatique des TCD


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    juin 2004
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2004
    Messages : 14
    Points : 10
    Points
    10
    Par défaut [VB Excel] Problème avec le nom automatique des TCD
    Bonjour,

    Dans ma feuille Excel, j'ai besoin de 2 TCD identiques, l'un en décimal, l'autre en pourcentage.
    Je fais donc un copier-coller du premier tableau et je change le format des nombres :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
        lign = Range("A65536").End(xlUp).row
        col = Range("A65000").End(xlToRight).Column
        Range(Cells(3, 1), Cells(lign, col)).Select 'selection du 1er tableau
        Selection.Copy
        lign = lign + 5
        Cells(lign, 1).Select 
        ActiveSheet.Paste
        Application.CutCopyMode = False
     
        'choix du format pourcentage :
     
        With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields( _
            "Nombre de Level")
            .Calculation = xlPercentOfRow
                    .NumberFormat = "0%"
        End With
    Le problème, c'est qu'avec cette technique le nom du 2nd TCD et attribué automatiquement par excel ("Tableau croisé dynamique2").
    Il m'est donc impossible de relancer ma macro, car sinon ça plante sur l'indice du tableau (due à l'incrémentation automatique)


    Une solution serait de réinitialiser ce compteur, mais je crois que c'est impossible.
    Une autre solution serait de récupérer le nom du tableau qui vient d'être créé lors du copier-coller OU l'état actuel du compteur (indice du tableau). Ensuite je pourrais l'utiliser dans mon code.

    Cependant je n'ai pas réussi à récupérer ce nom ou cet indice. Quelqu'un saurait-il comment faire?

    Merci d'avance.

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2003
    Messages : 14 008
    Points : 20 006
    Points
    20 006
    Par défaut
    Je pensai te dire ... que vu que c'était le dernier tabeau insérer dans la feuille il devrai avoir le dernier indice .. et donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.PivotTables.count
    te permet d'accéder à cet indice ...

    mais voila suite à des test sour Excel 2000 ... le tableau rajouté (par copie) prends l'indice 1.. décalant tous les autre..

    donc aprés la copie tu peu par exemple modifier le nom du TCD par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.PivotTables(1).Name="NouveauTableau

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    juin 2004
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2004
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    Je te remercie ça marche très bien!

Discussions similaires

  1. Réponses: 1
    Dernier message: 08/05/2015, 18h30
  2. [JDOM] Problème avec les nom contenant des tirets '-'
    Par malimaot dans le forum XML
    Réponses: 1
    Dernier message: 09/02/2011, 18h57
  3. [XPATH] problème avec le nom des noeud fils
    Par DrDam dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 04/04/2008, 11h02
  4. Réponses: 6
    Dernier message: 20/02/2007, 18h00
  5. [EXCEL] problème avec récupération automatique
    Par Moheva dans le forum Excel
    Réponses: 2
    Dernier message: 27/07/2006, 10h11

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