excel, les macros, et les TCD

  • Initiateur de la discussion Initiateur de la discussion julie
  • 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 !

J

julie

Guest
J'ai une macro à faire qui me générera un TCD; Je ne maitrise pas du tout le VB; et je ne voulais pas faire quelque chose de compliqué. Mon problème est le suivant, c'est quand j'enregistre ma macro, elle me ressort, pour la selection de ma base de données, une ligne du type :

ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
'Mon_Fichier!R1C1:R9878C13').CreatePivotTable TableDestination:='', _
TableName:='Tableau croisé dynamique1', DefaultVersion:= _
xlPivotTableVersion10

çà se passe très bien quand ma base de données fait 9878 lignes et 13 colonnes, mais quand ma base grandit et qu'elle a plus de lignes ou plus de colonnes, il ne les prend pas en compte bien sûr.

Comment je peux dire dans ma macro, qu'il doit me prendre toutes les lignes et toutes les colonnes actives. Je ne rencontre ce problème qu'avec les TCD.

Merci de ma répondre.
 
bonjour Julie



insertion->nom->définir ex : MaTable
dans la fenêtre du haut entrer le nom que tu veux donner (MaTable)
dans la fenêtre du bas entrer la formule suivante
=DECALER($A$1;;;NBVAL($A:$A);NBVAL($A$1:$M$1))

a1 : début base de données
NBVAL($A:$A) : compte le nbre de lignes
NBVAL($A$1:$M$1 : compte le nbre de colonnes

ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
'MaTable').CreatePivotTable TableDestination:='', _
TableName:='Tableau croisé dynamique1', DefaultVersion:= _
xlPivotTableVersion10

à bientôt
 
Merci Bebere de t'être intéréssé à mon problème, j'ai suivi à la lette ce que tu m'as dit...et voilà le code qu'il m'a écrit au début de ma macro..Tout fonctionne bien quand ma Base va de A à M, mais quand je lui insére 1 colonne : Erreur 1004 et en déboguage, il ne trouve plus une colonne qui n'est plus en M mais en N...

Selection.CurrentRegion.Select
ActiveWorkbook.Names.Add Name:='dubost', RefersToR1C1:= _
'=OFFSET(VTPFROID030505DUBOST!R1C1,,,COUNTA(VTPFROID030505DUBOST!C1),COUNTA(VTPFROID030505DUBOST!R1C1:R1C13))'
ActiveWorkbook.Names.Add Name:='dubost', RefersToR1C1:= _
'=OFFSET(VTPFROID030505DUBOST!R1C1,,,COUNTA(VTPFROID030505DUBOST!C1),COUNTA(VTPFROID030505DUBOST!R1C1:R1C13))'
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:='dubost' _
).CreatePivotTable TableDestination:='', TableName:= _
'Tableau croisé dynamique1', DefaultVersion:=xlPivotTableVersion10

Si quelqu'un pouvait me résoudre mon ti problème..Merci
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 macro TCD
Réponses
4
Affichages
366
D
  • Question Question
Réponses
1
Affichages
759
M
Réponses
2
Affichages
3 K
T
Réponses
1
Affichages
2 K
Tinytoons
T
C
Réponses
23
Affichages
4 K
Charles78
C
Retour