no save
Assistance
Achat
News

Forum | programmation
[vba] tableau croisé dynamique
oln, le lun. 26 mars 2007 à 18:01:28
Bonjour,
Je suis débutant débutant sous VBA et j'essaye désespérément de programmer un programme qui dans un premier temps importerait des données, effacerait les doublons, garderait certaine données puis fasse un tableau croisée dynamique.
Mais la partie du programme censée faire le tableau croisé dynamique ne fonctionne lorsqu'il se situe dans le corps du programme. Le compilateur me dit que: "le nom du champ de tableau croisé dynamique n'est pas valide. Pour créer un rapport de tableau croisée dynamique, vous devez utiliser des données sous forme de liste avec des étiquettes de colonnes. si vous changez le nom d'un champ, vous devez taper un nouveau nom pour le champ

si quelqu'un pouvait m'aider ça serait vraiment sympa:

Voici le bout de programme qui ne fonctionne pas :

Sub TableauCroiséDynamique()

Dim CacheTCD As PivotCache
Dim TCD As PivotTable
Dim feuille As Worksheet
On Error Resume Next
Sheets("Mandats").DrawingObjects("TextBoxWait").Visible = True
On Error GoTo 0
Application.ScreenUpdating = False


'supprimer la feuille analyse si elle existe déjà
On Error Resume Next
Application.DisplayAlerts = False
Sheets("Analyse").Delete
On Error GoTo 0

'Creer un tableau croisé dynamique
Set CacheTCD = ActiveWorkbook.PivotCaches.Add( _
SourceType:=xlDatabase, _
SourceData:=Sheets("Mandats").Range("A1").CurrentRegion.Address)


'ajout de la feuille Analyse
Worksheets.Add
ActiveSheet.Name = "Analyse"

'Creer un TCD à partir du cash
For Each feuille In Worksheets
If feuille.Name = "Analyse" Then
feuille.Activate

Set TCD = CacheTCD.CreatePivotTable( _
tabledestination:=Sheets("Analyse").Range("A1"), _
tablename:="TCDAnalyse")
End If
Next feuille



With TCD
'Ajout des champs
.PivotFields("MDT - Montant total du mandat").Orientation = xlRowField

.PivotFields("MDT - Budget (ligne)").Orientation = xlColumnField

.PivotFields("MDT - Section I/F").Orientation = xlColumnField

.PivotFields("MDT - N° BJ").Orientation = xlColumnField

.PivotFields("MDT - N° de mandat émis").Orientation = xlColumnField

.PivotFields("Tiers").Orientation = xlColumnField

.PivotFields("MDT - Compte").Orientation = xlColumnField

.PivotFields("FCT - Niv. réglementaire").Orientation = xlColumnField

.PivotFields("MDT - UAG").Orientation = xlColumnField

End With

Application.ScreenUpdating = True


End Sub Configuration: Windows XP
Internet Explorer 6.0


nico
juil. 07
Suivant
REPONSES
nico
juil. 07
vb
juil. 07
Version Web
Réalisé par RedShift
no save