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
    [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
    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
    Je te remercie ça marche très bien!

###raw>template_hook.ano_emploi###