Actualiser un tableau croisé dynamique sur une feuille protégée par mot de passe

rom3210

XLDnaute Nouveau
Bonjour,

Voici ma problématique.
J'ai crée un fichier excel avec plusieurs onglets tous protégés par mot de passe.

L'un des onglets est un tableau croisé dynamique.

La personne qui va entrer les données dans excel n'a pas le mot de passe, mais je voudrais lui permettre d'actualiser le TCD.

Pour infos :
- l'onglet où l'on rentre les données se nomme "trésorerie"
- l'onglet où se trouve le TCD se somme "stat 1"

Merci d'avance,
Romain
 

Misange

XLDnaute Barbatruc
Re : Actualiser un tableau croisé dynamique sur une feuille protégée par mot de passe

Bonjour

Plutot que de lui permettre d'actualiser le tcd, actualise le automatiquement pour elle avec une macro placée dans l'événement activate de la feuille contenant le TCD.
 

Misange

XLDnaute Barbatruc
Re : Actualiser un tableau croisé dynamique sur une feuille protégée par mot de passe

Alt F11 pour ouvrir l'éditeur VBA
cherche la feuille contenant le TCD dans la liste de gauche
dans la partie droite de la fenêtre tu colles ceci

Code:
Private Sub Worksheet_Activate()
PivotTables("Tableau croisé dynamique1").PivotCache.Refresh
End Sub

en adaptant bien sur pour le nom de ton TCD...
 

rom3210

XLDnaute Nouveau
Re : Actualiser un tableau croisé dynamique sur une feuille protégée par mot de passe

Je viens d'essayer le code.
Cela ne fonctionne pas.
Voici le message d'erreur :
"erreur d’exécution '1004'. tableau croisé dynamique impossible à modifier dans une feuille protégée".
 

Misange

XLDnaute Barbatruc
Re : Actualiser un tableau croisé dynamique sur une feuille protégée par mot de passe

Alors teste ceci

Code:
Private Sub Worksheet_Activate()

sheets("tafeuille").Unprotect password="blabla" 
PivotTables("Tableau croisé dynamique1").PivotCache.Refresh
sheets("tafeuille").Protect password="blabla"
 End Sub
 

rom3210

XLDnaute Nouveau
Re : Actualiser un tableau croisé dynamique sur une feuille protégée par mot de passe

Toujours pas.
Cette fois-ci le message est le suivant :
"Mot de passe non valide. Vérifier que la touche VERR.MAJ n'est pas activée et que vous respectez la bonne casse."

Voici ce que j'ai mis :

Private Sub Worksheet_Activate()

Sheets("stats 1").Unprotect Password = "monmotdepasse"
PivotTables("Tableau croisé dynamique1").PivotCache.Refresh
Sheets("stats 1").Protect Password = "monmotdepasse"
End Sub
 

Pierrot93

XLDnaute Barbatruc
Re : Actualiser un tableau croisé dynamique sur une feuille protégée par mot de passe

Bonjour rom, Misange,

pour actualiser un TCD sur feuille protégée, sans avoir à déprotéger / reprotéger la feuille, il faut que la protection soit effectuée par le code en utilisant l'argument "userinterfaceonly"...

code ci-dessous à placer dans le module "thisworkbook", se déclenche lors de l'ouverture du classeur :

Code:
Option Explicit
Private Sub Workbook_Open()
With Sheets("Feuil2")
    .EnablePivotTable = True
    .Protect "toto", userinterfaceonly:=True
End With
End Sub

code ci-dessous à placer dans le module de la feuille où se trouve le TCD :

Code:
Option Explicit
Private Sub Worksheet_Activate()
PivotTables(1).RefreshTable
End Sub

bonne journée
@+
 

Misange

XLDnaute Barbatruc
Re : Actualiser un tableau croisé dynamique sur une feuille protégée par mot de passe

Bonjour

il fallait
1)adapter le nom des feuilles dans les macros !
2) déprotéger la feuille contenant la base de données sinon je ne vois pas sur quoi tu actualises le TCD...
puis actualiser puis reprotéger
3) rendre dynamique la source du TCD ce que j'ai fait en transformant la base en tableau au sens excel du terme
4) comme tu reverrouilles après avoir actualisé il n'est pas nécessaire de verrouiller quand tu ouvres le classeur

PS c'est mieux de joindre les classeurs sur le forum, les liens ci-joint ne sont pas pérennes.
 

Pièces jointes

  • TCD-protégé.xlsm
    18.4 KB · Affichages: 745
Dernière édition:

Mnimna

XLDnaute Nouveau
Re : Actualiser un tableau croisé dynamique sur une feuille protégée par mot de passe

Bonjour,

Je suis débutante dans tout ce qui concerne les Macro. J'ai crée une base de donnée que j'ai protégé, et dans la meme onglet j'ai inséré un tableau croisé dynamique. Le problème c'est que quant je veux actualiser mon TDC je dois premièrement Oter la protection. A savoir que le TDC prend les information à partir d'un autre onglet que je protège également. Merci d'avance
 

waikeke8686

XLDnaute Nouveau
Bonjour à toutes et à tous,

Je bloque depuis pas mal de temps sur mon document excel. J'espère trouver de l'aide sur ce forum. J'ai un docuement qui se nomme "BUDGET 2018 C.A.L SITE X".
Ce document permet de suivre le budget par lignes budgétaires qui sont attribués au responsable de sites (directeur d'accueil de loisirs).
Dans ce fichier, il y a 3 onglets qui sont tous en lien les uns avec les autres :
- 1 onglet nommé '"général". Cet onglet permet par le biais de petits histogrammes de voir l'évolution de budgets par ligne budgétaires.
- 2ème onglet nommé "Tableau Croisé dynamique" qui traite la base de données du 3ème onglet. Ce 2ème onglet est en lien avec le 1er onglet pour l'évolution des
histogrammes.
- 3ème onglet nommé "Saisie Facture" qui est le base de données générale avec des menus déroulant pour les différentes périodes et les différentes lignes budgétaires.
Tout cela se traduit dans le 2ème onglet nommé "Tableau Croisé dynamique".
Dans un premier temps : je souhaiterai protéger la feuille le 1er onglet nommé '"général" et le 2ème onglet nommé "Tableau Croisé dynamique" afin que les reponsables ne puisse pas le modifier
et laisser que le dernier "Saisie Facture" onglet accessible.
Dans un second temps je souhaiterai que le 2ème onglet nommé "Tableau Croisé dynamique" s'actualise automatiquement malgré la protection des feuilles. J'ai eu beau essayer pleins de manipulation
en sans jamais trouver la solution.
Voici le fichier en pièce jointe.
En vous remerciant d'avance de votre aide.
 

Pièces jointes

  • BUDGET 2018 C.A.L SITE X.xlsx
    38.2 KB · Affichages: 57

dom24-2

XLDnaute Nouveau
Re : Actualiser un tableau croisé dynamique sur une feuille protégée par mot de passe

Bonjour rom, Misange,

pour actualiser un TCD sur feuille protégée, sans avoir à déprotéger / reprotéger la feuille, il faut que la protection soit effectuée par le code en utilisant l'argument "userinterfaceonly"...

code ci-dessous à placer dans le module "thisworkbook", se déclenche lors de l'ouverture du classeur :

Code:
Option Explicit
Private Sub Workbook_Open()
With Sheets("Feuil2")
    .EnablePivotTable = True
    .Protect "toto", userinterfaceonly:=True
End With
End Sub

code ci-dessous à placer dans le module de la feuille où se trouve le TCD :

Code:
Option Explicit
Private Sub Worksheet_Activate()
PivotTables(1).RefreshTable
End Sub

bonne journée
@+

Bonjour, lu te relu tous vos échanges sur le sujet, fait moult tests en essayant de respecter vos indications...mais rien n'y fait, je n'arrive pas non plus à mettre à jour mon TCD sur ma feuille protégée. Pourriez-vous m'aider SVP car je désespère :(
 

Discussions similaires