TCD Source variable

Bonjour à toutes et tous !

Est-il possible de sélectionner une source variable dans un TCD à l'aide des solutions suivantes :

Contrainte : je dois sélectionner à partir de la ligne 2, toutes les colonnes A à T, jusqu'à la fin du tableau.

- soit d'une variable i ex : (Range("A2:T" & i).Select ), où la variable i est déterminée par une boucle Do While /Loop

- soit d'une variable k déterminée d'une autre manière, comme ceci :

Dim k As Integer
k = Range("D" & Rows.Count).End(xlUp).Row
Range("A2" & k & ":T" & k).Select

- soit par cette syntaxe suivante : Range("A2:T" & [B65000].End(xlUp).Row)

Je pense que je ne suis pas très loin de mon objectif, mais j'ai des prb de syntaxe qui me freinent.

Voici mon code :

...
    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        "Analyse!R2C1:R2000C20", Version:=xlPivotTableVersion14).CreatePivotTable
....

Pouvez-vous m'aider à trouver la bonne formule svp ?

Bonne journée

J'ai par ailleurs vu la solution apportée par Dan, mais je voulais savoir s'il n'y avait pas plus simple.

https://forum.excel-pratique.com/excel/tcd-avec-source-variable-t32317.html

Bonjour

J'ai par ailleurs vu la solution apportée par Dan, mais je voulais savoir s'il n'y avait pas plus simple.

De quelle solution parles-tu ?

Celle par code ou celle par formule ?

Sinon

....
With sheets("nom de la feuille")
Set plage = .Range("A1:K" & .Range("A" & .Rows.Count).End(xlUp).Row)
End With
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        plage).CreatePivotTable
.....

Cordialement

Bonjour Dan,

Je parle de la solution que tu avais toi-même apporté sur ce lien https://forum.excel-pratique.com/excel/tcd-avec-source-variable-t32317.html

où tu avais apporté une solution par le code suivant :

    Dim plage As Range
    With Worksheets("DonneesBrutes")
    Set plage = .Range("A1:K" & .Range("A" & Rows.Count).End(xlUp).Row)
    End With
    Sheets.Add
    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        plage).CreatePivotTable TableDestination:=ActiveSheet.Range("A3"), TableName:="TCD"

Je voulais savoir s'il était obligatoire de fixer avec "plage = .Range("A1:K" & blablabla

ou s'il n'était pas possible de faire un truc du style :

...
    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        "Analyse!Range("A1:K" & .Range("A" & Rows.Count).End(xlUp).Row)", Version:=xlPivotTableVersion14).CreatePivotTable
....

Bonjour,

Pourquoi ne pas joindre un petit fichier représentatif et anonymisé au besoin ?

Tu aurais alors une réponse rapidement.

Cdlt.

Re

Non tu n'es pas obligé de déclarer la plage comme je l'ai fait. C'est juste que c'est plus lisible comme cela

Sinon essaie ceci

...
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        Sheets("Analyse").Range("A1:K" & Sheets("Analyse").Range("A" & Sheets("Analyse").Rows.Count).End(xlUp).Row)).CreatePivotTable
...

Crdlt

Salut Danou

Merci pour ta réponse d'hier ! ça marche parfaitement !!

Merci bcp et bonne journée

Rechercher des sujets similaires à "tcd source variable"