V
valerie
Guest
Bonjour,
Je suis désespéree et si une personne pouvait me venir en aide ce serait fantastique.
Voila, je réalise un TCD en VBA avec excel 2000. Tout ce passe comme il faut et surtout comme je le veux.
Malheureusement, mon fichier doit etre aussi utilisable pour la version excel 97 anglaise. Et la les problèmes commencent. Il construit bien le TCD mais ne fait aucune modification du type (saut de ligne, agrandissement de certaines cellules, mise en forme du rapport). toutes ces fonctionnalités ne sont apparement pas disponible d'après ce qu'un utilisateur m'a dit.
Le problème est aussi que les nom de certaines cellules changent. Par exemple, la cellule Somme Duree va s'appeler sum of Duree an anglais... Je ne sais pas comment faire pour regler ce problème et si c'est faisable?
voici mon code :
ActiveSheet.PivotTableWizard _
SourceType:=xlDatabase, _
SourceData:="recup_data!R6C1:R" & nombre & "C8", _
TableDestination:=Range("H4"), _
TableName:="TCD"
'ajout des champs
With ActiveSheet.PivotTables("TCD").PivotFields("SYSTEME")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("TCD").PivotFields("TACHE")
.Orientation = xlRowField
.Position = 2
End With
With ActiveSheet.PivotTables("TCD").PivotFields("DUREE")
.Orientation = xlDataField
.Position = 1
End With
'ajout d'une ligne entre chaque systeme
With ActiveSheet.PivotTables("TCD").PivotFields("SYSTEME")
.LayoutBlankLine = True
.LayoutForm = xlOutline
End With
'pas de sous totaux et de totaux
ActiveSheet.PivotTables("TCD").PivotFields("TACHE").Subtotals = Array(False, False, False, False, False, False, False, False, False, False, False, False)
'ActiveSheet.PivotTables("TCD").ColumnGrand = False
'change le nom des colonnes et on dit que l'on ne veut pas de totaux
ActiveSheet.PivotTables("TCD").PivotFields("SYSTEME").Name = "SYSTEM"
ActiveSheet.PivotTables("TCD").PivotFields("TACHE").Name = "TASKS"
ActiveSheet.PivotTables("TCD").PivotFields("Somme DUREE").Name = "Time (hours)"
ActiveSheet.PivotTables("TCD").PivotFields("SYSTEM").SubtotalName = "Total (hours)"
'on agrandi la colonne I qui recoit les taches : pour etre homogène
Columns("I:I").Select
Selection.ColumnWidth = 40
'on change le format du tableau choisir entre le 6 ou le 8
ActiveSheet.PivotTables("TCD").Format xlReport8
merci d'avance,
Valérie
Je suis désespéree et si une personne pouvait me venir en aide ce serait fantastique.
Voila, je réalise un TCD en VBA avec excel 2000. Tout ce passe comme il faut et surtout comme je le veux.
Malheureusement, mon fichier doit etre aussi utilisable pour la version excel 97 anglaise. Et la les problèmes commencent. Il construit bien le TCD mais ne fait aucune modification du type (saut de ligne, agrandissement de certaines cellules, mise en forme du rapport). toutes ces fonctionnalités ne sont apparement pas disponible d'après ce qu'un utilisateur m'a dit.
Le problème est aussi que les nom de certaines cellules changent. Par exemple, la cellule Somme Duree va s'appeler sum of Duree an anglais... Je ne sais pas comment faire pour regler ce problème et si c'est faisable?
voici mon code :
ActiveSheet.PivotTableWizard _
SourceType:=xlDatabase, _
SourceData:="recup_data!R6C1:R" & nombre & "C8", _
TableDestination:=Range("H4"), _
TableName:="TCD"
'ajout des champs
With ActiveSheet.PivotTables("TCD").PivotFields("SYSTEME")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("TCD").PivotFields("TACHE")
.Orientation = xlRowField
.Position = 2
End With
With ActiveSheet.PivotTables("TCD").PivotFields("DUREE")
.Orientation = xlDataField
.Position = 1
End With
'ajout d'une ligne entre chaque systeme
With ActiveSheet.PivotTables("TCD").PivotFields("SYSTEME")
.LayoutBlankLine = True
.LayoutForm = xlOutline
End With
'pas de sous totaux et de totaux
ActiveSheet.PivotTables("TCD").PivotFields("TACHE").Subtotals = Array(False, False, False, False, False, False, False, False, False, False, False, False)
'ActiveSheet.PivotTables("TCD").ColumnGrand = False
'change le nom des colonnes et on dit que l'on ne veut pas de totaux
ActiveSheet.PivotTables("TCD").PivotFields("SYSTEME").Name = "SYSTEM"
ActiveSheet.PivotTables("TCD").PivotFields("TACHE").Name = "TASKS"
ActiveSheet.PivotTables("TCD").PivotFields("Somme DUREE").Name = "Time (hours)"
ActiveSheet.PivotTables("TCD").PivotFields("SYSTEM").SubtotalName = "Total (hours)"
'on agrandi la colonne I qui recoit les taches : pour etre homogène
Columns("I:I").Select
Selection.ColumnWidth = 40
'on change le format du tableau choisir entre le 6 ou le 8
ActiveSheet.PivotTables("TCD").Format xlReport8
merci d'avance,
Valérie