[Excel] Utilisation de tableau dynamique avec protection

arochepip Messages postés 3 Date d'inscription mercredi 6 décembre 2006 Statut Membre Dernière intervention 7 décembre 2006 - 6 déc. 2006 à 12:32
arochepip Messages postés 3 Date d'inscription mercredi 6 décembre 2006 Statut Membre Dernière intervention 7 décembre 2006 - 7 déc. 2006 à 12:46
Bonjour,



<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
 




J’ai développé un rapport de restitution sur Excel, utilisant des tableaux dynamiques connectés à une base de données (cubes OLAP en l’occurrence).


Mes tableaux dynamiques sont sur un onglet de travail et des macros adéquates récupèrent les informations utiles pour les afficher sur un onglet utilisateur.



 




Le seul élément que les utilisateurs ont à manipuler est un tableau dynamique implanté sur l’onglet utilisateur dont je ne montre que les filtres, de telle manière à proposer des filtres dynamiques, c’est à dire restituant automatiquement ce qui est présent dans la base. Les autres éléments de l’onglet (graphiques, tableaux de valeurs, titres…) ne doivent pas être modifiés.



 




Mon problème est que, lorsque j’active la protection excel (en cochant « Utiliser des rapports de tableau croisé dynamique »), l’utilisateur ne peut plus choisir de nouveaux filtres. En effet une fenêtre apparaît : « Cette commande ne peut pas être exécutée sur une feuille protégée, car une réactualisation des données sources pour ce rapport de tableau croisé dynamique est nécessaire. », et ceci, même si j’ai désactivé la protection sur toutes les cellules du tableau.



 




Je suis preneur de toutes solutions alternatives pour contourner le problème, sur vba ou directement sur excel, pour ne pas perdre le bénéfice de semaines de travail pour ce problème de protection.



 




Merci d’avance.

4 réponses

cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
6 déc. 2006 à 21:47
Salut,

Je ne suis pas certain de bien comprendre, mais si tu veux utiliser des
filtres automatiques sur une feuille protégée, il y a un moyen d'y
arriver.


'À mettre dans ThisWorkBook et modifier le nom de la feuille et le password selon les besoins


Private Sub Workbook_Open()

    Sheets("Feuil1").Protect password:="test", DrawingObjects:=True, _

        contents:=True, Scenarios:=True, _

        userinterfaceonly:=True

    Sheets("Feuil1").EnableAutoFilter = True

End Sub

MPi
0
arochepip Messages postés 3 Date d'inscription mercredi 6 décembre 2006 Statut Membre Dernière intervention 7 décembre 2006
7 déc. 2006 à 10:21
Tout d'abord merci beaucoup MPi d'avoir pris la peine de te pencher sur la question.

Désolé de ma réponse tardive.

En fait ça ne répond pas à mon problème parce que je n'utilise pas de filtres automatiques mais des filtres d'un tableau dynamique (pivot table) et c'est le rafraîchissement de ce tableau qui est bloqué par la protection de la feuille (si j'ai bien compris).

Pour le moment je suis sur une solution dégradée pour protéger les cellules qui ne doivent pas être modifiées. voici le code :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim V As Range
    Dim R As Range
    Set V = Range("test")
    If Union(Target, V).Address = V.Address Then
            MsgBox ("Cette cellule est protégée, la modifier pourrait impacter le fonctionnement de la macro")
            Cells(4, 4).Select
    End If
End Sub

Avec test la plage de cellules à ne pas modifier. c'est assez efficace mais potentiellement pénible pour l'utilisateur qui se prend un message si il sélectionne les mauvaises cellules.
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
7 déc. 2006 à 11:07
Et si tu passais par un UserForm qui permettrait à l'utilisateur de modifier les choix ?
Est-ce que ce serait pensable dans ton cas ?

La macro pourrait désactiver la protection, modifier les filtres au besoin et réactiver la protection, ...

Il s'agirait de placer assez de contrôles sur le UserForm pour charger les données nécessaires dans des Combobox ou autres...

Une idée comme ça

MPi
0
arochepip Messages postés 3 Date d'inscription mercredi 6 décembre 2006 Statut Membre Dernière intervention 7 décembre 2006
7 déc. 2006 à 12:46
Hé hé...

Ca a l'air pas mal comme idée, je vais creuser le sujet cet après midi si on me laisse le temps.

Merci.
0
Rejoignez-nous