Tableau croisé dynamique

deni29

XLDnaute Junior
bonjour à tous,

Dans un TCD, j'ai des problémes pour définir ma plage de données qui doit être 'mobile'.
Voir ma demande sur le fichier joint, c'est plus facile à expliquer.

Slt

deni29 [file name=EssaiTCD.zip size=33360]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/EssaiTCD.zip[/file]
 

Pièces jointes

  • EssaiTCD.zip
    32.6 KB · Affichages: 37
  • EssaiTCD.zip
    32.6 KB · Affichages: 28
  • EssaiTCD.zip
    32.6 KB · Affichages: 34

Jeannot45

XLDnaute Occasionnel
Bonjour Denis,

Tu nommes ta base : Base_de_données en respectant exactement la typographie du nom.

Tu recrées ton tableau croisé dynamique eet tu verras qu'excel prend en compte le Nom défini.

Tu saisis tes nouvelles lignes par l'intermédiaire de Données-Grille ou Données-Formulaire suivant la version d'excel que tu utilises

Le nom est redéfini à chaque saisie.

Tu actualises comme d'habitude ton tableau les nouvelles données seront alors prises en compte


Jeannot
 

Celeda

XLDnaute Barbatruc
Bonjour,

Ou alors on le nomme avec une formule :
=DECALER($B$9;;;NBVAL($B$9:$B$2000);NBVAL($B$9:$F$9))

jusqu'à 2000 lignes en exemple pour avoir de la place et identique pour les colonnes.

Celeda [file name=TCDnommerbase.zip size=31110]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/TCDnommerbase.zip[/file]
 

Pièces jointes

  • TCDnommerbase.zip
    30.4 KB · Affichages: 32

Dan

XLDnaute Barbatruc
Bonjour,

Ton TCD semble être fait par macro et je n'arrive pas à rentrer dans VBA car tu as mis un mot de passe. Place le code ici afin que je vois ce qui se passe dans ta macro.

Sinon, une solution est aussi d'insérer tes nouvelles données dans le tableau plutôt que de les ajouter après la dernière ligne. Dans ce cas, tu n'as rien à faire de plus. A part bien sûr d'actualiser le TCD.

;)
 

deni29

XLDnaute Junior
Bonsoir


désolé j'avais laissé un mot de passe sur VBA

Je l'ai enlevé

deni29 [file name=EssaiTCD_20060228201452.zip size=28054]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/EssaiTCD_20060228201452.zip[/file]
 

Pièces jointes

  • EssaiTCD_20060228201452.zip
    27.4 KB · Affichages: 37

Dan

XLDnaute Barbatruc
Bonsoir,

Bon là pas facile cette macro.

- Place ceci en VBA par ALT+F11
- CTRL + R pour accéder à VBA Project
- Sélectionne la feuille 'Statistiques'
- Place la macro ci-dessous :

Code:
Private Sub Worksheet_Activate()
'Macro par Dan pour deni29 - le 28/02/06
'Post XLD : [B]Lien supprimé[/B]
Dim plage As Range
Set plage = Sheets('Suivi Journalier').Range('A1').CurrentRegion
Sheets('statistiques').Cells.Clear
With Sheets('Suivi Journalier')
   .PivotTableWizard SourceType:=xlDatabase, SourceData:= _
        plage, TableDestination:=Sheets('Statistiques').Range('A1'), TableName:='TCD'
End With
With ActiveSheet.PivotTables('TCD')
    .SmallGrid = False
    .AddFields RowFields:='Date', PageFields:='Moyen en panne'
With ActiveSheet.PivotTables('TCD').PivotFields('Date')
        .Orientation = xlDataField
        .Name = 'Total par mois/an'
        .Function = xlCount
End With
        .PivotSelect 'Date', xlButton
Selection.Group Start:=True, End:=True, periods:=Array(False, False, False, _
        False, True, False, True)
End With
End Sub

Espérant que cel te conviendra.

Si pb n'hésite pas.

;)

Message édité par: dan, à: 28/02/2006 21:43
 

Dan

XLDnaute Barbatruc
Bonjour Deni,

Deux instructions que tu peux aussi rajouter:

1. Entre DIM et SET :
Code:
Application.ScreenUpdating = False
2. Avant END SUB :
Code:
With Application
        .ScreenUpdating = True
        .CommandBars('PivotTable').Visible = False
End With

Bon travail

;)
 

Discussions similaires

Statistiques des forums

Discussions
312 379
Messages
2 087 763
Membres
103 661
dernier inscrit
fcleves