TCD en VBA

cs_encgt Messages postés 26 Date d'inscription samedi 30 avril 2005 Statut Membre Dernière intervention 19 avril 2007 - 18 avril 2007 à 11:03
cs_encgt Messages postés 26 Date d'inscription samedi 30 avril 2005 Statut Membre Dernière intervention 19 avril 2007 - 19 avril 2007 à 08:55
Bonjour

pourriez vous m'aider? je veut créer une macro qui génére un tableau croisé dynamique à partir d'une plage de donnée qui peut être variable (mais elle est toujours dans la même feuille) ; c'est pourquoi au lieu de ce code :

ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"feuil1!R1C1:R21C2" TableDestination:= _
 "'[Cdes engagées .xls]Détail'!R4C1", TableName:= _
  "Tableau croisé dynamique1", DefaultVersion:=xlPivotTableVersion10

je met ca :

ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
  "sheets("feuil1").range("A1").currentregion"TableDestination:= _
        "'[Cdes engagées CRM_MM_YYYY.xls]Détail'!R4C1", TableName:= _
        "Tableau croisé dynamique1", DefaultVersion:=xlPivotTableVersion10

voilà le code contient une erreur je sais plus comment procéder , merci bcp pour votre aide

6 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
18 avril 2007 à 11:08
Salut,
Je dirais qu'il n'y a pas besoin des guillemets pour "sheets("feuil1").range("A1").currentregion"

Donc essaies

ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
  sheets("feuil1").range("A1").currentregion, TableDestination:= _
        "'[Cdes engagées CRM_MM_YYYY.xls]Détail'!R4C1", TableName:= _
        "Tableau croisé dynamique1", DefaultVersion:=xlPivotTableVersion10
@+: Ju£i?n
Pensez: Réponse acceptée
0
cs_encgt Messages postés 26 Date d'inscription samedi 30 avril 2005 Statut Membre Dernière intervention 19 avril 2007
18 avril 2007 à 11:16
salut
merci pour ta réponse , mais ca marche pas même en enlevant les guillemets comme tu m'as dit !!!!????
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
18 avril 2007 à 11:19
Salut,
Alors essaie en remplacant la même chose par selection.

@+: Ju£i?n
Pensez: Réponse acceptée
0
cs_encgt Messages postés 26 Date d'inscription samedi 30 avril 2005 Statut Membre Dernière intervention 19 avril 2007
18 avril 2007 à 12:09
salut
j'ai pas compris!
qu'est ce que tu veut que je remplace par selection? Merci de m'éclaircir ça sur mon exemple
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
18 avril 2007 à 23:54
Ce que JRivet veut dire, je pense c'est
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
 Selection, TableDestination:= _
        "'[Cdes engagées CRM_MM_YYYY.xls]Détail'!R4C1", TableName:= _
        "Tableau croisé dynamique1", DefaultVersion:=xlPivotTableVersion10

Et n'oublie pas les virgules pour séparer les paramètres. Avant TableDestination, il n'y a pas de virgule dans tes 2 exemples...(?)

MPi
0
cs_encgt Messages postés 26 Date d'inscription samedi 30 avril 2005 Statut Membre Dernière intervention 19 avril 2007
19 avril 2007 à 08:55
Merci à vous
j'ai réussi à le faire avec le code suivant :
lignefin = Cells(1, 1).CurrentRegion.Rows.Count
colfin = Cells(1, 1).CurrentRegion.Columns.Count
lignedep = 1
coldep = 1
Sheets("nomfeuille").Select
Range("C1").Activate
Selection.Delete Shift:=xlToLeft
Range("A4").Select
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"'feuilledest'!R" & lignedep & "C" & coldep & ":R" & lignefin & "C" & colfin).CreatePivotTable TableDestination:=Range("A4") _
, TableName:="Tableau croisé dynamique7"

Encore une fois merci et à la prochaine
0
Rejoignez-nous