Bonjour,
J'ai mis du code dans la feuille d'un classeur, de façon à ce qu'à chaque changement effectué dans un TCD, des formules soient mises à jour.
Mais la macro ne s'active pas après un changement.
Voici le code :
Private Sub SheetPivotTableUpdate(ByVal Sh As Object, ByVal Target As PivotTable)
Application.ScreenUpdating = False
With Sheets("CA").PivotTables("TCD1").TableRange1
.Range("E20:E500").Clear 'RAZ
.Columns(3).Copy .Columns(4) 'pour les formats
.Columns(4) = "=if(iserror((D20-C20)/C20)=true,,(D20-C20)/C20)"
.Cells(1, 4) = "Prog. %"
.Columns(4).NumberFormat = "# %"
End With
With Sheets("CA").PivotTables("TCD2").TableRange1
.Range("J20:J500").Clear 'RAZ
.Columns(3).Copy .Columns(4) 'pour les formats
.Columns(4) = "=if(iserror((I20-H20)/H20)=true,,(I20-H20)/H20)"
.Cells(1, 4) = "Prog. %"
.Columns(4).NumberFormat = "# %"
End With
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Le fichier de base étant très volumineux, je ne peux l'insérer.
Quelqu'un a-t-il une idée sur l'erreur ?
Merci d'avance,
Yvan
J'ai mis du code dans la feuille d'un classeur, de façon à ce qu'à chaque changement effectué dans un TCD, des formules soient mises à jour.
Mais la macro ne s'active pas après un changement.
Voici le code :
Private Sub SheetPivotTableUpdate(ByVal Sh As Object, ByVal Target As PivotTable)
Application.ScreenUpdating = False
With Sheets("CA").PivotTables("TCD1").TableRange1
.Range("E20:E500").Clear 'RAZ
.Columns(3).Copy .Columns(4) 'pour les formats
.Columns(4) = "=if(iserror((D20-C20)/C20)=true,,(D20-C20)/C20)"
.Cells(1, 4) = "Prog. %"
.Columns(4).NumberFormat = "# %"
End With
With Sheets("CA").PivotTables("TCD2").TableRange1
.Range("J20:J500").Clear 'RAZ
.Columns(3).Copy .Columns(4) 'pour les formats
.Columns(4) = "=if(iserror((I20-H20)/H20)=true,,(I20-H20)/H20)"
.Cells(1, 4) = "Prog. %"
.Columns(4).NumberFormat = "# %"
End With
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Le fichier de base étant très volumineux, je ne peux l'insérer.
Quelqu'un a-t-il une idée sur l'erreur ?
Merci d'avance,
Yvan