Excel et VBA : tableau croisé dynamique

  • Initiateur de la discussion Bertrand
  • Date de début
B

Bertrand

Guest
Hello, :)

J'ai créé automatiquement un tableau croisé dynamique via le code VBA suivant

Code:
Public Sub REPEATABILITY() 
    Dim myPivot As PivotTable 
    Dim myField As PivotField 
    On Error Resume Next 
    Application.DisplayAlerts = False 
    Sheets('TP_REPEATABILITY').Delete 
    Application.DisplayAlerts = True 
    Range('A1').Select 
    On Error Goto 0 
    Set myPivot = Sheets('REPEATABILITY').PivotTableWizard 
    Set myField = myPivot.PivotFields('RESULTS') 
    With myField 
        .Orientation = xlDataField 
        .Function = xlAverage 
    End With 
    Set myField = myPivot.PivotFields('DAY') 
    myField.Orientation = xlRowField 
    Set myField = myPivot.PivotFields('NUMBER OF DILUTIONS') 
    myField.Orientation = xlColumnField 
    Application.CommandBars('PivotTable').Visible = False 
    ActiveSheet.Name = 'TP_REPEATABILITY' 
End Sub

Je souhaiterais faire disparaître chaque valeur ''grand total '
qui représente la somme de chaque ligne et qui apparait
dans la dernière colonne de mon tableau

Par contre, je voudrais garder la dernière ligne qui correspond
la somme de chaque colonne

Que dois-je modifier dans mon code?

Merci d'avance,

Bertrand
 
B

Bertrand

Guest
Bonjour Chris,

Merci pour ta réponse mais je voudrais faire celà automatiquement
dans mon code via VBA et non pas manuellement..

Qui sait ce qu'il faut changer?

Merci d'avance pour vos réponses

Bertrand
 

myDearFriend!

XLDnaute Barbatruc
Bonsoir Bertrand, Chris,

Apparemment tu n'as pas compris ce que te dit Chris qui a cent fois raison Bertrand...

Je le répète à nouveau, l'enregistreur de macro est un outil indispensable et il faut l'utiliser ! Bien sûr, le code issu de l'enregistreur est bien souvent 'brut de brut', mais avec des tests et un peu d'habitude, on peut l'adapter et il permet très très souvent de découvrir comment sortir de l'impasse...

Pour ton problème Bertrand, tu peux essayer le code ci-dessous :
Public Sub REPEATABILITY()
      Dim myPivot As PivotTable
      Dim myField As PivotField
      On Error Resume Next
      Application.DisplayAlerts = False
      Sheets('TP_REPEATABILITY').Delete
      Application.DisplayAlerts = True
      Range('A1').Select
      On Error GoTo 0
      Set myPivot = Sheets('REPEATABILITY').PivotTableWizard
      myPivot.RowGrand = False
      Set myField = myPivot.PivotFields('RESULTS')
      With myField
            .Orientation = xlDataField
            .Function = xlAverage
      End With
      Set myField = myPivot.PivotFields('DAY')
      myField.Orientation = xlRowField
      Set myField = myPivot.PivotFields('NUMBER OF DILUTIONS')
      myField.Orientation = xlColumnField
      Application.CommandBars('PivotTable').Visible = False
      ActiveSheet.Name = 'TP_REPEATABILITY'
End Sub
Cordialement,
 

Discussions similaires

Statistiques des forums

Discussions
312 225
Messages
2 086 411
Membres
103 201
dernier inscrit
centrale vet