Macros dans TCD

Bonjour,

Cela doit bien faire 2 heures que je butte sur un problème et j'aurais grand besoin de votre aide. Je commence le VBA et c'est pas facile par moment!

Voici mon problème: je dois récupérer des informations depuis un TCD pour faire des retraitements et notamment l'année. J'aimerais pouvoir faire en sorte que l'année que je vais rentrer dans le filtre du TCD soit une variable (ex "K11") plutôt que (ex "2013"), cela me permettrait de ne pas avoir à changer l'année sur toutes les macros à chaque fois qu'on passe à l'année suivante!

J'espère m'être fait comprendre et merci d'avance

Voilà le VBA;

ActiveSheet.PivotTables("PivotTable3").PivotFields("Years").CurrentPage = _

"2013"

ActiveSheet.PivotTables("PivotTable3").PivotFields("Years").CurrentPage = _

"=K11"

Evidemment, ça ne marche pas!

J'espère m'être fait comprendre et merci d'avance

Bonjour,

Essaies :

ActiveSheet.PivotTables("PivotTable3").PivotFields("Years").CurrentPage =K11

Cdlt.

Merci pour la réponse, mais ça ne marche pas, en fait je ne suis même pas sûr que ce soit possible

Bonjour,

Je suppose que K11 est une cellule...

ActiveSheet.PivotTables("PivotTable3").PivotFields("Years").CurrentPage =range("K11")

Si ok, clique sur le v vert à coté du bouton EDITER pour cloturer le fil lors de ta réponse

Amicalement

Dan a écrit :

Bonjour,

Je suppose que K11 est une cellule...

ActiveSheet.PivotTables("PivotTable3").PivotFields("Years").CurrentPage =range("K11")

Si ok, clique sur le v vert à coté du bouton EDITER pour cloturer le fil lors de ta réponse

Amicalement

Je l'avais essayé celle la aussi... Le probleme, c'est, qu'on demande à excel de traiter une variable que l'on rentre dans un moteur de recherche (le filtre), et je ne suis pas sur que ce soit possible

Re,

Peux-tu envoyer un fichier avec des explications et ce que tu souhaites?

Cdlt.

Bon, j'ai choisi une autre option (beaucoup plus facile je pense), pour arriver à mes fins. J'ai changé les données du TCD pour ne pas avoir à manipuler les filtres en macros. Ce qui fait que j'ai directement les données que je souhaite dans le TCD

L'idée, c'est de copier le tableau du TCD qui peut voir ses colonnes varier pour ensuite coller ces données dans le tableau de retraitement, là ou il y a marqué turnover.

Pensez vous pouvoir me corriger mon code vba pour cela? Je suis sûr que ça doit être vraiment simple

Je ne peux pas communiquer les fichiers car le TCD est lié à un important stock de données dans le workbook.

 Dim dernierecol As Integer
      dernierecol = "COUNTA(H11:AAH11)"

    Windows("Master Data.xlsx").Activate

    Sheets("deal pivot(revenues)").Range(Cells(11, 8), Cells(12, dernierecol)).Copy

    Windows("MIS 21Jan2013.xlsx").Activate
Sheets("RFK UK CORPORATE").range("B5").Paste

 

Voila ce que j'essaie de faire, le probleme vient de la formule counta qui n'est pas reconnue!

Bonjour,

Essaye sous cette forme là et tu me dira si cela fonctionne :

dernierecol = Application.WorksheetFunction.CountA(Range("H11:AAH11"))

Mais si tu veux attribuer la valeur d'une cellule dans un TCD pourquoi tu ne stocke pas la valeur de cette cellule dans une variable :

AnneeSelect = Range("K11").value

et après tu attributs ta variable à ton TCD.

Alors j'ai essayé ceci:

dernierecol = Application.WorksheetFunction.CountA(Range("H11:AAH11"))

Effectivement ça a l'air de marcher beaucoup mieux! Cependant, le copiage part depuis la bonne colonne, a le bon nombre de lignes (2 lignes) mais va dans le mauvais sens. Mais Count A semble bien fonctionner.

Quand à ce que tu me dis après, je suis nouveau dans le domaine et je ne vois pas trop ce que tu veux dire! Mais je pense qu'avec cette façon de rentrer counta en vba ça devrait faire l'affaire!

Autre question tant que j'y suis, où as tu appris à avoir un gros niveau sur excel? Tout seul? Comment t'y es tu pris? J'aimerais avoir un bon niveau aussi!

Merci

Rechercher des sujets similaires à "macros tcd"