TDC en VBA

Marc77

XLDnaute Occasionnel
Bonjour le forum

Voici le code que j'utilise pour faire un tableau croisé en VBA.
Comment ajusté la plage de donnée 'Feuil1!R1C1:R21C2' suivant la base de donnée.

Range('A7').Select
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
'Feuil1!R1C1:R21C2').CreatePivotTable TableDestination:='', TableName:= _
'Tableau croisé dynamique3', DefaultVersion:=xlPivotTableVersion10
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select
With ActiveSheet.PivotTables('Tableau croisé dynamique3').PivotFields('non')
.Orientation = xlRowField
.Position = 1
End With
ActiveSheet.PivotTables('Tableau croisé dynamique3').AddDataField ActiveSheet. _
PivotTables('Tableau croisé dynamique3').PivotFields('adresse'), _
'Nombre de adresse', xlCount


Merci de votre aide
Marc
 

Dan

XLDnaute Barbatruc
Re,

Pas de quoi.
Si cela t'intéresse on peut améliorer la macro en rapidité.
Sans ton fichier essaie ceci :

Code:
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
 Sheets('Feuil1').range('A1').currentregion.CreatePivotTable TableDestination:='', TableName:= _
 'Tableau croisé dynamique3', DefaultVersion:=xlPivotTableVersion10
 With ActiveSheet
    .PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
    .PivotTables('Tableau croisé dynamique3').PivotFields ('non')
        .Orientation = xlRowField
        .Position = 1
    .PivotTables('Tableau croisé dynamique3').AddDataField ActiveSheet. _
PivotTables('Tableau croisé dynamique3').PivotFields('adresse'), _
 'Nombre de adresse', xlCount
 End With

A bientot

;)
 

hasnaa1192

XLDnaute Nouveau
Re : TDC en VBA

Bonjour

j'ai la meême interrogaion , sauf quand je met le code donnéepar Dan :

Sheets('Feuil1').range('A1').currentregion

j'ai toujour une erruer d'expression ; ce sont des apostrophes à mettre ou des guillemets , le tout à mettre entre parenthèses , j'ai tout testé presque!!!!! vraiment je suis bloquée là dessus

un grand merci pour votre aide
 

Dan

XLDnaute Barbatruc
Re : TDC en VBA

Bonjour,

Hasnaa1192, le mieux est que tu places ton fichier ici.
En effet, travailler sur un TCD par macro n'est pas toujours aisé sans avoir un fichier pour bien comprendre ce que tu veux faire.
Toutefois, dans l'instruction Sheets("Feuil1").range("A1").currentregion, vérifie :

- Les guillemets tels que je les ai placés ici
- Le nom de ta feuille doit être FEUIL1 ou celle que tu as
- La première cellule de ta base de données doit être A1. Elle doit être le titre de ta colonne.

A te lire
 
Dernière édition:

Discussions similaires

Réponses
12
Affichages
588
Réponses
1
Affichages
532

Statistiques des forums

Discussions
312 400
Messages
2 088 082
Membres
103 710
dernier inscrit
amin Saadaoui