Actualiser un TCD protégé

Résolu
mcstayhi99 Messages postés 34 Statut Membre -  
mcstayhi99 Messages postés 34 Statut Membre -
Bonjour,

Je voudrais savoir s'il y a une possibilité d'actualiser un tableau croisé dynamique même s'il la feuille et le classeur sont protégés.

Merci pour vos réponse.

4 réponses

  1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Bonjour
    je ne crois pas, non, sauf à passer par VBA

    par exemple:
    dans le code de la feuille: clic droit sur onglet et coller

    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 2 Then
    ActiveSheet.Unprotect "xxxx"
    ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotCache.Refresh
    ActiveSheet.Protect "xxxx"
    End If
    End Sub

    le tableau va se réactualiser tout seul quand vous modifier une valeur dans la colonne B_(column=2) et à condition bien sur que les cellules en B ne soient pas verrouillées

    Tableau croisé dynamique 1 est le nom du TCD
    xxxx est le mot de passe à placer selon ce que vous décidez si'il est besoin.
    ou alors dans un module VBA

    Sub ACTUALISE()
    ActiveSheet.Unprotect "xxxx"
    ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotCache.Refresh
    ActiveSheet.Protect "xxxx"
    End Sub

    et affectez un bouton ou une touche clavier à la macro pour la lancer

    crdlmnt
    0
  2. mcstayhi99 Messages postés 34 Statut Membre
     
    Merci beaucoup pour votre réponse je vais tester immédiatement et je vous met au courant.

    Merci beaucoup
    0
  3. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Re

    voila le fichier avec la macro, mais je ne peux pas tester car je n'ai pas de lien avec le fichier des données d'origine et la macro plante!
    et aussi ce fichier est un Xlsm (soit fichier 2007 avec macro)
    mais il faut aussi que dans vos options Excel, vous acceptiez les macros.
    https://www.cjoint.com/?DBursBqGM7n
    Bien entendu, seul la version avec bouton peut fonctionner puisque les données ne sont pas dans le fichier ;
    Voir le bouton Actualiser qui ôte la protection, actualise et remet la protection sans mot de passe.
    ... ou au moins qui devrait, mais je n'ai jamais testé de fichier à fichier

    Crdlmnt
    0
    1. mcstayhi99 Messages postés 34 Statut Membre
       
      Merci.
      J'ai testé sa donne erreur d'execution 1004.
      qd je débogue l'erreur se trouve ds la ligne :
      ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotCache.Refresh

      Merci
      0
    2. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      Parce que je pense qu'il faut que le classeur source soit ouvert ou alors vous avez placé le tcd dans un fichier modèle "bidon" pour le communiquer.

      faites ceci:
      Ruban/ Onglet développeur / a gauche "enregistrer une macro"
      oter la protection
      sélectionner le TCD et actualisez
      remettez la protectioon
      revenez au ruban et "arrêter l'enregistrement"


      ensuite / clic droit sur le bouton actualiser dans la feuille et "affecter une macro" / Sélectionnez la bonne macro dans la liste et effacer l'autre

      bonne chance
      0
    3. mcstayhi99 Messages postés 34 Statut Membre
       
      Merci beaucoup je vais tester demain et je vous met au courant.

      Merci beaucoup pour votre aide
      0
    4. mcstayhi99 Messages postés 34 Statut Membre
       
      Bonjour,

      voici la macro que j'ai mis :

      Sub Macro1()
      '
      ' Macro1 Macro
      '

      '
      ActiveWorkbook.Unprotect
      ActiveSheet.Unprotect

      ActiveSheet.PivotTables("Tableau croisé dynamique1").RefreshTable
      ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
      True, AllowUsingPivotTables:=True
      ActiveWorkbook.Protect Structure:=True, Windows:=False
      End Sub


      est ce qu'il y a une possibilité avant de reprotéger de mettre un delai par ex 10 seconde avant la reprotection.

      Merci
      0
    5. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      Bonjour

      peut être mais moi je ne connais pas!
      vous aurez peut être plus de chance avec d'autres meilleurs que moi en VBA (vu que je suis nul)

      Bonne chance
      crdlmnt
      0