Rechercher : dans
Par :

Mise à jour automatique de tableaux croisés

Dernière réponse le 25 aoû 2008 à 16:06:20 nanou2183, le 25 aoû 2008 à 14:24:44 
 Signaler ce message aux modérateurs

Bonjour,
J'ai mis en place une dizaine de TDC sur la meme feuille
maintenant, je rajoute des lignes dans la feuille des données sources
je voudrais mettre à jour mes TDC sans avoir à chaque fois besoin de changer la plage de données source
et sans avoir besoin de faire clique droit mettre à jour
y'a t'il une solution
MERci

Configuration: Windows XP
Firefox 2.0.0.16

Meilleures réponses pour « Mise à jour automatique de tableaux croisés » dans :
Mise à jour automatique MalwareBytes' Voir MalwareByte’s Anti-Malware est un bon logiciel pour retirer les infections : Lien L'astuce suivante concerne la version gratuite de MBAM. Comment faire pour que MBAM se mette à jour automatiquement ? Pour Windows XP Cliquer sur Menu...

1

m@rina, le 25 aoû 2008 à 15:00:22

Bonjour,

Le mieux est déjà d'utiliser une plage nommée pour tes TCD et non pas des références en dur.

Ensuiite, il faut que le nom puisse évoluer avec la plage nommée. Pour cela deux solutions :

- Nommer la plage avec une formule DECALER
- Transformer ta base en liste (Données, Liste, Créer une liste) (Merci Eriic ! ;))

La deuxième solution est sans doute la plus simple.

Cependant, cela ne suffira pas. Il te faut quand même une macro qui mette à jour. Dans la feuille du tcd :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    ActiveSheet.PivotTables("Tableau croisé dynamiquex").PivotCache.Refresh

End Sub

Répondre à m@rina

2

nanou2183, le 25 aoû 2008 à 15:06:57

Et une fois que j'ai créé ma liste
j'en fais quoi?
je dois mettre quoi dans les données sources de mon TCD?
je dois mettre quoi à la place "Tableau croisé dynamiquex" dans la macro?

Merci merci

Répondre à nanou2183

3

m@rina, le 25 aoû 2008 à 15:22:09

Pour créer ta liste, je pense que tu as sélectionné toute ta base (ctrl+*)
Tu resélectionnes, et tu nommes ta plage ("bd" par exemple)
Ce qui fait qu'à chaque fois que tu ajouteras un ligne, la plage nommée "bd" s'agrandira.

Dans ton TCD :
- Menu Tableau croisé => Assistant Tableau croisé
Dans la boîte de dialogue de l'assistant, clique sur le bouton Précédent
Et tu tapes le nom "bd" dans la zone plage (sans les quillemets).

Ensuite, tu copies-colles la macro dans l'éditeur VB de chaque page TCD, en mettant bien le nom du tableau croisé Pour connaître le nom :
Menu Tableau croisé => Options

m@rina

Répondre à m@rina

4

nanou2183, le 25 aoû 2008 à 15:26:48

Ok merci
encore une petite question
comment faire si j'ai plusieurs TCD dans la meme feuille?

Répondre à nanou2183

5

m@rina, le 25 aoû 2008 à 15:30:43

Tu ajoutes la mise à jour du 2e TCD (et des autres...) dans la macro :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    WithActiveSheet
         .PivotTables("Tableau croisé dynamique1").PivotCache.Refresh
         .PivotTables("Tableau croisé dynamique2").PivotCache.Refresh
   End With

End Sub

Répondre à m@rina

6

nanou2183, le 25 aoû 2008 à 15:32:55

Et aussi ca fonctionne, là je l'ai fait pour un mais ca ne le fait pas automatiquement
il faut qd mm que je fasse actualiser mon tableau
c'est pas possible de le faire automatiquement?

Répondre à nanou2183

7

m@rina, le 25 aoû 2008 à 15:35:58

La macro est justement faite pour que tu n'aies pas à actualiser manuellement.

As tu bien mis la macro dans la feuille du TCD et non pas dans un module ?

m@rina

Répondre à m@rina

8

 nanou2183, le 25 aoû 2008 à 16:06:20

C'est bon ca fonctionne
merci beaucoup

Répondre à nanou2183