Actualiser les données (TCD) pendant une protection de feuille

cedridoc777777 Messages postés 85 Statut Membre -  
cedridoc777777 Messages postés 85 Statut Membre -
Bonjour,

J'utilise Excel 2007.

(J'ai eu besoin de masquer les propriétés des cellules: propriétés cellule/masquée/proteger la feuille,... )

Je souhaiterais qu'à chaque ouverture du fichier, la protection soit active. Cependant, j'aimerais malgré tout qu'il soit possible de mettre à jour des tableaux croisés dynamique, car actuellement je dois retirer la protection de chacunes des feuilles,....

Je voudrais manipuler les "protections/ôter protection/activer les permissions" le moins souvent possible

A voir également:

7 réponses

PHILOU10120 Messages postés 6517 Date d'inscription   Statut Contributeur Dernière intervention   827
 
Bonjour

Si lors de la protection de la feuille vous mettez la coche dans autoriser
Utiliser des rapports de TCD
0
cedridoc777777 Messages postés 85 Statut Membre
 
Merci Philou,
C'est un peu plus compliqué en fait :) (C'est ma faute)

On m'avait donné un code à placer dans ma feuille ThisWorkBooks
Private Sub Workbook_Open()
Dim Feuille
For Each Feuille In ActiveWorkbook.Sheets
With Feuille
.EnableOutlining = True
.Protect UserInterfaceOnly:=True
End With
Next Feuille
End Sub


Le but était d'avoir accès au + et - sur les colonnes que j'avais consolidé pour un groupement de colonne.
Cette protection se remet à chaque ouverture de fichier, ce qui est pratique pour moi qui oublie toujours de la mettre :p

Cependant, j'aimerais qu'il laisse automatiquement l'accès dont je parlais précédemment? Peut on ajouter quelques choses au code? Je n'y connais rien dans les codages...
0
marc07 Messages postés 630 Statut Membre 187
 
Bonjour,
un tcd a le soucis de ne pas s'actualisé automatiquement, donc il faut mettre une macro au moment de l'ouverture de celui-ci
pour ce fair je te donne un lien en video qui vous dira comment procédé

http://www.polykromy.com/blog/03-actualise%20tcd.html

marc

ps: le code généré devra biensur se mettre avant le code qui protége votre tcd
0
cedridoc777777 Messages postés 85 Statut Membre
 
Ha c'est super ça!
Super pratique!

Mais (je suis embettant lol), en plus de cela, je souhaiterais que, malgré la protection "automatique" qu'il soit possible de filtrer durant la protection. Est-ce possible?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cedridoc777777 Messages postés 85 Statut Membre
 
Private Sub Worksheet_Activate()
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotCache.Refresh
ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotCache.Refresh
ActiveSheet.PivotTables("Tableau croisé dynamique3").PivotCache.Refresh
ActiveSheet.PivotTables("Tableau croisé dynamique4").PivotCache.Refresh
ActiveSheet.PivotTables("Tableau croisé dynamique5").PivotCache.Refresh
ActiveSheet.PivotTables("Tableau croisé dynamique6").PivotCache.Refresh
ActiveSheet.PivotTables("Tableau croisé dynamique7").PivotCache.Refresh
ActiveSheet.PivotTables("Tableau croisé dynamique8").PivotCache.Refresh
ActiveSheet.PivotTables("Tableau croisé dynamique9").PivotCache.Refresh
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

End Sub

J'ai un méssage erreur d'exécution '1004'
Ca ne peut pas fonctionner?
Dans une de mes feuilles j'ai 9 TCD, c'est dans celle ci que je voulais déjà tester l'actualisation.
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Bonjour,

essaie de protéger avec :
.Protect UserInterfaceOnly:=True, AllowUsingPivotTables:=True

eric
0
cedridoc777777 Messages postés 85 Statut Membre
 
Merci Eric,
Voici donc le code complet:
Private Sub Workbook_Open()
Dim Feuille
For Each Feuille In ActiveWorkbook.Sheets
With Feuille
.EnableOutlining = True
.Protect UserInterfaceOnly:=True, AllowUsingPivotTables:=True
End With
Next Feuille
End Sub

Je pense que c'était toi qui avait écrit ce premier code? :')

J'avais créé un bouton en haut de chaque pages pour raffraichir les données des TCD.

Si j'appuie une fois, tout se passe bien. Ou du moins, rien ne se passe mal.
Si j'appuie une deuxième fois, il y a un pop up qui débarque et m'affiche une croix dans un rond rouge et c'est écrit "400".

Serait il possible d'accepter de filtrer des données dans un tableau "classique" de la mm manière qu'il serait possible de mettre à jour les TCD?

EDIT:
@Eric:
Ok, j'ai compris comment tu as fait. J'ai donc créé un nouveau fichier, et créé un macro dans la quel je protégais l'onglet, une fois la macro stoppée, j'ai été intéroger le code, j'y ai pris ce qui m'intéressait et j'ai modifié mon code en ceci

Private Sub Workbook_Open()
Dim Feuille
For Each Feuille In ActiveWorkbook.Sheets
With Feuille
.EnableOutlining = True
.Protect UserInterfaceOnly:=True, AllowUsingPivotTables:=True, AllowFiltering:=True
End With
Next Feuille
End Sub


Par contre j'ai toujours le problème avec le Pop-up qui débarque lorsque je refresh les données :(
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Sur l'image aucun problème. Fais comme moi, travaille avec la photo écran.
eric
0
cedridoc777777 Messages postés 85 Statut Membre
 
Salut Eric,
Désolé du retard, j'étais en congé!

Que veux tu dire? Tu veux que je fasse une photo du message d'erreur?
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Bonjour,

Non, on ne peut rien faire avec une photo de ton écran...
C'est un fichier xls qu'il faut, avec les manip à faire pour avoir le problème.
eric
0
cedridoc777777 Messages postés 85 Statut Membre
 
Eric voici le lien du fichier
https://www.cjoint.com/?3FumnDKXE3S
J'aimerais donc refresh le TCD durant la protection
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Bonjour,

Je ne vais pas tout relire 10 jours après, tout est oublié maintenant.
Quand tu poses une question fait preuve d'un peu plus de sérieux dans le suivi, et attend le moment où tu pourras suivre pour la poser.

eric
0