Bonjour,
Je rencontre un problème concernant la sécurisation de mes TCDs.
J'utilisais jusqu'ici la macro suivante pour mettre à jour mes TCD (macro qui était placé sur la feuille qui récupère les données et non sur la feuille des TCD)
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Application.EnableEvents = False
Sheets("TDB S").PivotTables("TCD").RefreshTable
Sheets("TDB S").PivotTables("TCD1").RefreshTable
Sheets("TDB S").PivotTables("TCD2").RefreshTable
Application.EnableEvents = True
End Sub
Mais j'ai besoin de sécuriser ma feuille avec mes TCD, et forcément la protection entraîne un arrêt de la mise à jour automatique des TCD.
Alors j'ai essayé plusieurs solutions que j'ai trouvé sur internet
Solution 1/ (Code que j'ai placé directement sur la feuille des TCDs)
Option Explicit
Private Sub Worksheet_Activate()
Worksheets("TDB S+1").Unprotect Password:="condeordolog"
PivotTables(1).RefreshTable
With Sheets("TDB S+1")
.EnablePivotTable = True
.Protect "condeordolog", userinterfaceonly:=True
End With
End Sub
Solution 2/ (Code que j'ai placé directement sur la feuille des TCDs)
Private Sub Worksheet_Activate()
With Me
.Unprotect "mdp"
.PivotTables(1).RefreshTable
.Protect Password:="mdp"
End With
End Sub
Malheureusement aucune des deux macros ne marchent, j'ai l'impression que le fait que 3 TCD soient placés sur une même feuille pose problème ?
Peut-être que l'un de vous à la solution?
Bien cordialement
Pierre
Je rencontre un problème concernant la sécurisation de mes TCDs.
J'utilisais jusqu'ici la macro suivante pour mettre à jour mes TCD (macro qui était placé sur la feuille qui récupère les données et non sur la feuille des TCD)
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Application.EnableEvents = False
Sheets("TDB S").PivotTables("TCD").RefreshTable
Sheets("TDB S").PivotTables("TCD1").RefreshTable
Sheets("TDB S").PivotTables("TCD2").RefreshTable
Application.EnableEvents = True
End Sub
Mais j'ai besoin de sécuriser ma feuille avec mes TCD, et forcément la protection entraîne un arrêt de la mise à jour automatique des TCD.
Alors j'ai essayé plusieurs solutions que j'ai trouvé sur internet
Solution 1/ (Code que j'ai placé directement sur la feuille des TCDs)
Option Explicit
Private Sub Worksheet_Activate()
Worksheets("TDB S+1").Unprotect Password:="condeordolog"
PivotTables(1).RefreshTable
With Sheets("TDB S+1")
.EnablePivotTable = True
.Protect "condeordolog", userinterfaceonly:=True
End With
End Sub
Solution 2/ (Code que j'ai placé directement sur la feuille des TCDs)
Private Sub Worksheet_Activate()
With Me
.Unprotect "mdp"
.PivotTables(1).RefreshTable
.Protect Password:="mdp"
End With
End Sub
Malheureusement aucune des deux macros ne marchent, j'ai l'impression que le fait que 3 TCD soient placés sur une même feuille pose problème ?
Peut-être que l'un de vous à la solution?
Bien cordialement
Pierre