VBA : tcd source de données

Fermé
VBAHell Messages postés 8 Date d'inscription lundi 15 janvier 2018 Statut Membre Dernière intervention 25 janvier 2018 - Modifié le 15 janv. 2018 à 16:10
VBAHell Messages postés 8 Date d'inscription lundi 15 janvier 2018 Statut Membre Dernière intervention 25 janvier 2018 - 17 janv. 2018 à 11:27
Bonjour à tous,

J'ai un premier petit problème qui devrait être tout bête mais qui me pose problème depuis une heure maintenant :

Erreur 5 : Argument ou appel de procédure incorrect

Ceci est pour la ligne suivante :

  ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        "R03!R1C1:R" & lgc & "C3", Version:=xlPivotTableVersion14).CreatePivotTable _
        TableDestination:="TCD R03!R2C2", TableName:="Tableau croisé dynamique2", _
        DefaultVersion:=xlPivotTableVersion14


C'est au niveau de ma source de données avec ma variable lgc que j'ai défini juste au dessus...


Par la suite, je sais également que j'aurai un problème au niveau de ma RECHERCHEV dans la seconde feuille, car elle fait référence à une plage qui change (suppressions de colonnes à chaque fois que je lance la macro etc...) donc ça me fait "#REF". Est-ce qu'il y a une solution à cela? Je pense qu'il faut que je passe par vba pour la recherchev et non pas directement mettre la fonction dans la case sinon j'aurai ce problème longuement.

Voici le fichier : https://www.cjoint.com/c/HApoXNJC4DS

Merci d'avance pour toutes les pistes que vous me donnerez, j'essaye de comprendre par moi-même mais là je suis bloqué pour des choses futiles et je n'ai pas trouvé de lien semblable sur les forums...

Cordialement,

Thomas

2 réponses

VBAHell Messages postés 8 Date d'inscription lundi 15 janvier 2018 Statut Membre Dernière intervention 25 janvier 2018
16 janv. 2018 à 16:16
Toujours pas d'idée?

J'ai tenté de créer un nom de plage de cellule de la manière suivante afin que le TCD soit actualisé grace à cela mais j'ai toujours la même erreur 5 à la même ligne ...

ActiveWorkbook.Names.Add Name:="MonTableau", RefersToR1C1:= _
"=OFFSET('R03'!R1C1,,,COUNTA('R03'!C1),3)"
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"MonTableau", Version:=xlPivotTableVersion14).CreatePivotTable _
TableDestination:="TCD R03!R2C1", TableName:="Tableau croisé dynamique", _
DefaultVersion:=xlPivotTableVersion14


Je ne vois vraiment pas d'où vient le problème d'appel de procédure...

HELP please
0
VBAHell Messages postés 8 Date d'inscription lundi 15 janvier 2018 Statut Membre Dernière intervention 25 janvier 2018
17 janv. 2018 à 11:27
Problème résolu :

Il s'agissait du TableDestination:= "TCD R03!R2C1" . Il faut enlever la destination et ça créé un tcd sur une nouvelle feuille. Ensuite, je renomme cette feuille comme je le voulais au début à l'aide de : ActiveSheet.Name = "TCD R03" et en début de macro j'ai une feuille qui me supprime l'ancienne.

J'espère que ça pourra aider quelqu'un un jour.
0