[VBA-E] Utiliser le range dans un tab croisé dynamique
bonjour
en créant un tableau croisé dynamique, Excel m'a généré le code suivant:
Code:
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 |
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
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:
Code:
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) |
mais lorsque j'écris:
Code:
1 2
| ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
myRange).CreatePivotTable |
cela plante
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! :D (ça urge)