Plage variable dans Pivot table

choffraym

XLDnaute Nouveau
Bonjour,
Pourriez-vous me donner la syntaxe exacte de ce qui suit :

wkB.Sheets("per CostCenter").Copy before:=wbk.Sheets(1)
ActiveSheet.PivotTables("PivotTable4").ChangePivotCache ActiveWorkbook. _
PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"FEUILLE1!R1C1:R10000C19" _

J'aimerais remplacer FEUILLE1!R1C1:R10000C19 par
Feuille1.Range("a1", Range("a1").End(xlDown).End(xlToRight))

Merci d'avance.
Bien a vous.
Mike
 

Efgé

XLDnaute Barbatruc
Bonjour
Si tu connais la dernière colonne (S dans ton exemple):
VB:
Sub test()
With Feuil1
    .Range(.Range("a1"), .Range("a1").End(4)(1, 19)).Select
End With
End Sub

Sans connaitre la dernière cellule de la plage (ni la ligne, ni la colonne)

Code:
Sub test_2()
Dim x As Range, y As Range
With Feuil1
    Set x = .Cells.Find("*", .Cells(.Rows.Count, .Columns.Count), xlValues, , 1, 2, 0)
    Set y = .Cells.Find("*", .Cells(.Rows.Count, .Columns.Count), xlValues, , 2, 2, 0)
    .Range(.Cells(1, 1), .Cells(x.Row, y.Column)).Select
    End With
End Sub

Les "Select" ne sont là que pour exemple.

Cordialement
 

choffraym

XLDnaute Nouveau
Bonjour
Bonjour
Si tu connais la dernière colonne (S dans ton exemple):
VB:
Sub test()
With Feuil1
    .Range(.Range("a1"), .Range("a1").End(4)(1, 19)).Select
End With
End Sub

Sans connaitre la dernière cellule de la plage (ni la ligne, ni la colonne)

Code:
Sub test_2()
Dim x As Range, y As Range
With Feuil1
    Set x = .Cells.Find("*", .Cells(.Rows.Count, .Columns.Count), xlValues, , 1, 2, 0)
    Set y = .Cells.Find("*", .Cells(.Rows.Count, .Columns.Count), xlValues, , 2, 2, 0)
    .Range(.Cells(1, 1), .Cells(x.Row, y.Column)).Select
    End With
End Sub

Les "Select" ne sont là que pour exemple.

Cordialement

Bonjour Efge,
Merci pour votre retour.
Ca me convient pour une plage variable mais comment est-ce que je traduis ca dans mon code apd de
SourceData:= _
"FEUILLE1!R1C1:R10000C19" _
Merci d'avance.
bat.
Mike
 

Efgé

XLDnaute Barbatruc
Re
Je ne t'ai donné que la façon de trouver la plage.
Si tu sais créer une source Data tu mets :
SourceData:= .Range(.Cells(1, 1), .Cells(x.Row, y.Column))

Il faut bien utiliser le With / End With

Cordialement
 

choffraym

XLDnaute Nouveau
Re
Je ne t'ai donné que la façon de trouver la plage.
Si tu sais créer une source Data tu mets :
SourceData:= .Range(.Cells(1, 1), .Cells(x.Row, y.Column))

Il faut bien utiliser le With / End With

Cordialement

Alors, je dois louper qqch alors pcq quand je mets :

ActiveSheet.PivotTables("PivotTable4").ChangePivotCache ActiveWorkbook. _
PivotCaches.Create(SourceType:=xlDatabase, SourceData:=Sheets("SDWORX").Range(Cells(1, 1), Cells(x.Row, y.Column)) _
, Version:=6)

Ca ne marche pas... :-(
Re
Je ne t'ai donné que la façon de trouver la plage.
Si tu sais créer une source Data tu mets :
SourceData:= .Range(.Cells(1, 1), .Cells(x.Row, y.Column))

Il faut bien utiliser le With / End With

Cordialement
Super. Merci. C'est en ordre.. Bonne jounee.
 

Statistiques des forums

Discussions
315 080
Messages
2 116 020
Membres
112 637
dernier inscrit
pseudoinconnu