• Initiateur de la discussion Initiateur de la discussion Marc77
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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

😉
 
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
 
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:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
XL 2019 Code VBA
Réponses
12
Affichages
939
D
  • Question Question
Réponses
1
Affichages
759
M
Réponses
2
Affichages
3 K
V
Réponses
69
Affichages
9 K
V
Réponses
1
Affichages
2 K
Compte Supprimé 979
C
S
Réponses
6
Affichages
4 K
S
J
Réponses
4
Affichages
2 K
jmten92
J
Réponses
4
Affichages
1 K
Retour