bonjour
en créant un tableau croisé dynamique, Excel m'a généré le code suivant:
en fait, Excel ne se sert pas vraiment de sa sélection et prend, en dur, la plage de la cellule A1 à la cellule I307
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Sub Genere_tcd() Range("A1").Select Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlDown)).Select ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _ "F_SNC!R1C1:R307C9").CreatePivotTable TableDestination:=Sheets("Feuil2").Range("A1"), _ TableName:="TabCroiDyn" End Sub
mais ce tableau n'a pas un nombre de lignes fixé (mais 9 colonnes), je veux donc rendre dynamique cette plage
je me lance en rajoutant:
mais lorsque j'écris:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Dim nbLignes As Integer Dim myRange As Range nbLignes = Selection.Rows.Count Set myRange = Sheets("Feuil1").Range("A1:I" & nbLignes)
cela plante
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _ myRange).CreatePivotTable
j'ai essayé plusieurs méthodes/propriétés et ça ne fonctionne pas
comment utiliser et/ou définir l'objet "Range" dans "Pivotcaches.Add"?
merci! (ça urge)
Partager