VBA & Tableau croisé dynamique

V

Vincent

Guest
VBA & Tableau croisé dynamique

Bonsoir à tous,

HELP! J'ai besoin de votre aide. Un nouveau casse-tête à résoudre...

Voici le début d'une macro permettant de créer automatiquement un tableau croisé dynamique basé sur deux feuilles 'Feuil1' & 'Feuil2', et sur les données des colonnes D6 à H26 :

Sub synthese2()

Application.ScreenUpdating = Flase
ActiveWorkbook.PivotCaches.Add(SourceType:=xlConsolidation, SourceData:= _
Array(Array("'Feuil1'!R6C4:R26C8", "Élément1"), Array("'Feuil2'!R6C4:R26C8", _
"Élément2"))).CreatePivotTable TableDestination:=Range("A17"), TableName:= _
"Tableaucroisé"
End With

Problème : Le nom des feuilles ne sera pas figé !
- Comment faire pour que la macro suive si je renomme les feuilles (feuilA, feuilB, etc.) ?
- D'autre part, au lieu d'avoir "Elément1" et "Elément2" dans les libellés du tableau croisé, je souhaiterais qu'il s'agisse du nom des feuilles.

Merci d'avance pour votre aide et vos précieux conseils.

Bonne soirée.

Vincent
 
D

Dan

Guest
Re: VBA & Tableau croisé dynamique

Bonsoir,

Je vais tenter de te répondre :

1. Pour faire cela tu dois absolument nommer la zone utilsée pour faire le TCD. Pour ce faire, sélectionne la plage de données puis attribue lui un nom (menu / insérer / nom / définir.

2. Pour ce qui est de élément 1 et 2, je pense que si tu te positionnes sur la cellule tu peux remplacer cette donnée par ce que tu souhaites. Si tu veux utiliser une macro pour faire cela il te faut récupérer le nom de ta feuille puis l'appliquer au TCD. Le mieux est que tu essaies via l'enregistreur automatique puis d'appliquer cela à une macro éventuelle du TCD.

Si pb n'hésite pas

@+
 
V

Vincent

Guest
Re: VBA & Tableau croisé dynamique

Bonsoir,

Une précision s'impose concernant mon premier message :

- Le nombre de feuille n'est pas fixe il peut être variable...

N'y a t-il pas un code VBA du style "Arrays" ou un autre truc du genre ?

Merci de votre aide.
A+
 
D

Dan

Guest
Re: VBA & Tableau croisé dynamique

Bonjour,

Dans ton exemple de macro, tu précises feuil1 et feuil 2. Lorsque tu parles de nombre de feuilles variables, est-ce tu veux dire que de nouvelles feuilles sont ajoutées aux feuil 1 et 2 ou remplacent ces dernières.

Cette question, car si tu ajoutes, il va falloir que non seulement lire qu'il ya deux feuilles supplémentaires, leur référence, connaitre la plage concernée pour faire le TCD et aussi amender ta macro pour que le TCD soit réalisé. Véritable exercice celà ...
Par contre si les nouvelles feuilles remplacent les feuil 1 et 2, le cas me semble plus simple à aborder dans le sens où il suffirait de lire les plages en les nommant comme je te l'ai précisé avant et en plaçant ces noms dans la macro.

Dans l'attente de te lire

@+ Dan
 
V

Vincent

Guest
Re: VBA & Tableau croisé dynamique

Bonjour Dan,

Voici quelques infos supplémentaires :

1. Les feuilles seront créées sur la base d'une plage d'une vingtaine de cellules (la valeur des cellules correspondront aux nom des feuilles).
2. La plage concernée poura donc contenir de 1 à 30 valeurs donc autant de feuilles.
3. Une macro permettra de créer ces feuilles et les renommera automatiquement.
4. Dans une feuille de récap. le TDC devra récupérer une plage identique sur les 1 à 30 feuilles.
5. A chaque nouveau projet un nouveau classeur/fichier sera re-créé selon un modèle ne contenant que la récap.. Les noms des feuilles renseignés dans les cellules ne seront pas forcément les même d'un projet à un autre.

En espérant que cette problèmatique ne soit pas insurmontable....
Merci d'avance pour ton aide.

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 497
Messages
2 088 994
Membres
104 000
dernier inscrit
dinelcia