VBA - TCD

Dernier saut d'obstacle.

La macro est enregistrée dans un classeur, pour être utilisée dans un autre classeur. Et c'est là que ça coince pour le TCD.

  ActiveWorkbook.Names.Add Name:="Database", RefersToR1C1:= _
        "=OFFSET(Extract!R1C1,0,0,COUNTA(Extract!C1),10)"
    ActiveSheet.PivotTableWizard SourceType:=xlDatabase, SourceData:= _
        "Base_de_données", TableDestination:="[Données.xls]TCD!R1C1", TableName:= _
        "Tableau croisé dynamique11"

En fait, le classeur n'est pas Données.xls. Comment puis-je faire en sorte que la TableDestination soit sur le classeur actif (celui sur lequel s'applique la macro, classeur qui possède bien une feuille nommée TCD)?

-- Sam Jan 22, 2011 4:42 pm --

est-ce qu'il y a une bonne piste en procédant de la sorte:

dim nomclasseur As String
nomclasseur =  ActiveWorkbook
TableDestination:="[nomclasseur]TCD!R1C1"

Il doit bien manquer quelque chose, mais quoi?

Re

Essaye en sortant le nom du classeur

TableDestination:="TCD!R1C1", ....

Nad

cool ça marche;

je vais avoir mérité mon 4 heures!

-- Sam Jan 22, 2011 6:56 pm --

Un nouveau souci apparait, bien que cela fonctionne.

ActiveWorkbook.Names.Add Name:="Database", RefersToR1C1:= _
        "=OFFSET(Extract!R1C1,0,0,COUNTA(Extract!C1),10)"
    ActiveSheet.PivotTableWizard SourceType:=xlDatabase, SourceData:= _
        "Base_de_données", TableDestination:="TCD!R1C1", TableName:= _
        "Tableau croisé dynamique11"

Cette partie de code fonctionne sans problème, sur mon Mac et ma version 2004 d'XL.

Par contre, sur un autre Mac, avec la version Microsoft 2011, ça se plante à cette ligne ActiveSheet.

Comme la présentation des TCD est très différente dans XL 2011, dois-je suspecter un problème d'incompatibilité des versions? Si oui, savez-vous par quoi remplacer ce qu'il y a ici pour le rendre compatible XL2011?

D'avance merci.

Bonjour,

remplace :

ActiveSheet.PivotTableWizard SourceType:=

par

Activesheet.PivotCaches.Add(SourceType:=

Si tu dois le faire fonctionner sur MAC excel 2004 et sur windows, tu auras un souci.

Précise le moi afin de modifier le code.

Il aurait été préférable que tu restes sur le même fil pour ce TCD.

N'oublie pas de cloturer le fil si Ok en cliquant sur le V vert.

Amicalement

Rechercher des sujets similaires à "vba tcd"