Actualiser un TCD protégé
Résolu
mcstayhi99
Messages postés
33
Date d'inscription
Statut
Membre
Dernière intervention
-
mcstayhi99 Messages postés 33 Date d'inscription Statut Membre Dernière intervention -
mcstayhi99 Messages postés 33 Date d'inscription Statut Membre Dernière intervention -
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.
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.
A voir également:
- Actualiser tcd google sheet
- Google maps satellite - Guide
- Dns google - Guide
- Google maps - Guide
- Google photo - Télécharger - Albums photo
- Créer un compte google - Guide
4 réponses
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
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
Merci beaucoup pour votre réponse je vais tester immédiatement et je vous met au courant.
Merci beaucoup
Merci beaucoup
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
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
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
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
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
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