Script actualiser TCD ouverture fichier, feuille protégé

Bonjour /Bonsoir,

J'ai un TCD sur une feuille protégé, j'aimerai actualiser les données de ce TCD à chaque ouverture du fichier.
J'ai essayé le script suivant :

Sub refresh_tcd()

    ActiveSheet.Unprotect Password:="mdp"
    ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotCache.RefreshOnFileOpen = True
    ActiveSheet.Protect Password:=”mdp”

End Sub

J'essaie naïvement d'oter la protection de la feuille, executer ma commande et reprotéger la feuille.

Le script ne me retourne pas d'erreur mais ne fait malheureusement pas ce que j'aurais aimé.

J'ai cette erreur lorsque je réouvre mon fichier :

image

Merci de m'avoir lu,
Je vous remercie d'avance pour votre aide

Bonjour,

Normalement, vous avez une option dans la protection de la feuille

image

A+

Bonjour,

Merci beaucoup pour votre réponse !
Cependant, je penses que je me suis mal exprimé
Je souhaiterai maintenir cette case décochée, je ne veux pas que les utilisateurs puissent modifier les filtres du TCD, simplement qu'ils puissent le consulter en l'état.
Je cherche donc une macro ou tout autre moyen pour réactualiser les données du TCD à chaque ouverture du fichier sans cocher cette autorisation.

Re,

Alors peut-être, plutôt que de mettre "ActiveSheet"

Sub refresh_tcd()
  With ThisWorkbook.Sheets("NomFeuille")
    .Unprotect Password:="mdp"
    .PivotTables("Tableau croisé dynamique1").PivotCache.RefreshOnFileOpen = True
    .Protect Password:="mdp"
  End With
End Sub

A+

Encore merci pour votre réponse, je vais tester ca ASAP !
En attendant, j'avais ajouté un script dans la feuille de la source des données qui réactualisait les données à chaque changement !

Private Sub Worksheet_Change(ByVal Target As Range)

Worksheets("feuil2").Unprotect "mdp"
ThisWorkbook.RefreshAll
Worksheets("feuil2").Protect "mdp"

End Sub

Et ça fonctionnait comme je voulais.

Encore un gros merci pour la réponse !

Rechercher des sujets similaires à "script actualiser tcd ouverture fichier feuille protege"