déprotéger plusieurs feuilles, actualiser les TCD, protéger les feuilles

canarounet

XLDnaute Nouveau
Bonjour à tous,

après avoir épluché une bonne partie du forum, je viens quémander de l'aide car je n'en peux plus de chercher !
voici mon problème :
Je voudrais pouvoir déprotéger toutes mes feuilles puis actualiser les TCD qui se trouvent sur ces différentes feuilles puis les reprotégrer après actualisation, sachant que cela doit se faire à chaque fois que je selectionne quelque chose dans le menu déroulant d'une feuille.

Voici la macro que j'ai actuellement dans "this workbook" qui fonctionne bien mais qui devient inutilisable dès que j'essaye d'ajouter des lignes de protection et déprotection (cela n'arrive pas à actualiser toutes les feuilles).

Pouvez vous me dire à quel endroit de ma procédure et quelle syntaxe utiliser pour parvenir à cela ?

J'espère que je suis assez claire et je remercie par avance toute ame charitable qui voufrait bien se pencher sur mon problème.


Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If ActiveSheet.Name Like "*AT*" Then
For i = 1 To ActiveSheet.PivotTables.Count
ActiveSheet.PivotTables(i).RefreshTable
Next
End If
End Sub


Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If ActiveSheet.Name Like "*AT*" And Target.Address = "$I$3" Then
Nom = Target.Text
On Error Resume Next
For i = 1 To Sheets.Count
If Sheets(i).Name Like "*AT*" Then
For j = 1 To Sheets(i).PivotTables.Count
Sheets(i).PivotTables(j).PivotFields("Responsable").CurrentPage = Nom
Next j
End If
Next i
End If
End Sub[/I][/I]
 

Pierrot93

XLDnaute Barbatruc
Re : déprotéger plusieurs feuilles, actualiser les TCD, protéger les feuilles

Bonjour,

essaye en protégeant tes feuilles via vba en utilisant l'argument "userinterfaceonly", permettra que tes codes fonctionnent sans protéger / déprotéger tes feuilles... :
Code:
Option Explicit
Private Sub Workbook_Open()
Dim ws As Worksheet
For Each ws In Worksheets
    With ws
        .EnablePivotTable = True
        .Protect "toto", userinterfaceonly:=True
    End With
Next ws
End Sub

bon après midi
@+

Edition : Une instruction en trop...
 
Dernière édition:

Discussions similaires

Réponses
2
Affichages
293
Réponses
4
Affichages
418
Réponses
2
Affichages
264