Mise a jour tableaux croisés + mots de passe

leblond

XLDnaute Nouveau
Bonjour le forum,

Je me suis longuement inspiré de vos savoirs sur un tableau sur lequel je travaille, mais j'atteins mes limites sur un détail qui me chagrine.
Le contexte : J'ai un tableau avec une page d'accueil et des liens hypertexte qui renvoient à d'autres feuilles. Jusque là, rien de compliqué.
J'ai mis des mots de passe sur chacune de ces feuilles pour que seules les personnes autorisées puissent y avoir accès.
Mon problème : dans ces feuilles, il y a des tableaux croisés qui doivent être amenés à être réactualisés. Or, quand je lance ma macro de mise à jour, excel m'oblige à renseigner tous les mots de passe les uns après les autres pour réactualiser... Existe t-il un moyen magique et merveilleux pour éviter de retaper les mots de passe à chaque fois?

Je vous ai mis un petit exemple de mon problème. (les mots de passe sont toto1 pour la feuille tcd1, toto2 pour tcd2, etc..)


des bisous, des calins.
 

Pièces jointes

  • leblondtcd.zip
    15.1 KB · Affichages: 26

Dugenou

XLDnaute Barbatruc
Re : Mise a jour tableaux croisés + mots de passe

Bonjour,

J'ai essayé bêtement de rajouter la déprotection et reprotection dans la macro de mise à jour, mais voilà ça marche pô parce que sur chaque feuille tu as une macro à l'activation qui demande le mot de passe. Donc il faudrait changer cela ou bien mettre à jour les tcd sans activer les feuilles : je ne sais pas si c'est possible.

Cordialement
 

ROGER2327

XLDnaute Barbatruc
Re : Mise a jour tableaux croisés + mots de passe

Bonjour Dugenou
Voyez si le classeur joint vous convient. J'ai modifié la procéduremiseajour et remplacé partout
VB:
.Protect Password:=MyPassword
par
VB:
.Protect Password:=MyPassword, UserInterfaceOnly:=True
ROGER2327
#5169


Samedi 7 Clinamen 138 (La Main de Gloire, V)
9 Germinal An CCXIX
2011-W13-2T11:37:22Z
 

Pièces jointes

  • Copie de leblondtcd.xls
    49 KB · Affichages: 54

leblond

XLDnaute Nouveau
Re : Mise a jour tableaux croisés + mots de passe

Bonjour Roger,

Etonnant mais l'astuce que vous donnez fonctionne bien sur le fichier test mais foire completement sur le mien, je dois toujours rentrer les mots de passe...
Quelle est la signification de ce code : UserInterfaceOnly:=True ?

Merci d'avance.
 

leblond

XLDnaute Nouveau
Re : Mise a jour tableaux croisés + mots de passe

pour être plus précis, ce pourrait-il que cela ne fonctionne pas sur mon fichier parce qu'en plus d'actualiser simplement les tableaux croisés, je fais de la mise en forme automatique sur mes tableaux avec ma macro de mise à jour ?
 

ROGER2327

XLDnaute Barbatruc
Re : Mise a jour tableaux croisés + mots de passe

Re…

UserInterfaceOnly:=True indique que la feuille est protégée mais que la protection n'empêche pas sa modification par du code.
Pour le reste, je ne sais pas. Compte tenu de ce que j'ai vu, je pense que tout action qui nécessite l'activation d'une feuille nécessite également la saisie du mot de passe.

ROGER2327
#5171


Samedi 7 Clinamen 138 (La Main de Gloire, V)
9 Germinal An CCXIX
2011-W13-2T13:24:18Z
 

supercrapaud

XLDnaute Occasionnel
Re : Mise a jour tableaux croisés + mots de passe

Bonjour,

mets cette procédure dans workbook :
Private Sub Workbook_Open()
Sheets("TCD1").PivotTables("Tableau croisé dynamique4").PivotCache.Refresh
Sheets("TCD2").PivotTables("Tableau croisé dynamique3").PivotCache.Refresh
Sheets("TCD3").PivotTables("Tableau croisé dynamique2").PivotCache.Refresh
Sheets("TCD4").PivotTables("Tableau croisé dynamique1").PivotCache.Refresh
End Sub
vire ton autre macro et ça roulera. le truc c'est de ne pas sélectionner tes feuilles. Bon courage.
 

ROGER2327

XLDnaute Barbatruc
Re : Mise a jour tableaux croisés + mots de passe

Re…
Bonjour,

mets cette procédure dans workbook :
Private Sub Workbook_Open()
Sheets("TCD1").PivotTables("Tableau croisé dynamique4").PivotCache.Refresh
Sheets("TCD2").PivotTables("Tableau croisé dynamique3").PivotCache.Refresh
Sheets("TCD3").PivotTables("Tableau croisé dynamique2").PivotCache.Refresh
Sheets("TCD4").PivotTables("Tableau croisé dynamique1").PivotCache.Refresh
End Sub
vire ton autre macro et ça roulera. le truc c'est de ne pas sélectionner tes feuilles. Bon courage.
En principe, c'est déjà fait !
Voir le message #3.​
ROGER2327
#5173


Samedi 7 Clinamen 138 (La Main de Gloire, V)
9 Germinal An CCXIX
2011-W13-2T13:40:05Z
 

leblond

XLDnaute Nouveau
Re : Mise a jour tableaux croisés + mots de passe

oui,ça ne résoud pas mon problème. Mais du coup, c'est effectivement le fait de rendre la feuille active dans ma macro qui me fait saisir les mots de passe. Donc j'ai utilisé le code de Roger pour actualiser uniquement les tableaux, et j'ai mis dans les feuilles des boutons de mise à jour pour contourner le truc.

Merci beaucoup pour votre aide!
 

leblond

XLDnaute Nouveau
Re : Mise a jour tableaux croisés + mots de passe

bonjour le forum,

je déterre mon sujet pour poser une petite question liée à mes mots de passes.
J'ai besoin de "forcer" les utilisateurs à activer les macros pour utiliser mon tableau et j'ai donc utilisé la technique fort pratique que j'ai trouvé sur ce faux rhum. A savoir : faire une page d'accueil avec les autres en VeryHidden qui oblige à activer les macros.
Petit problème : lorsque je veux repasser les feuilles en veryHidden à la fermeture du classeur, ces satanés mots de passes que j'ai mis sur certaines feuilles me sont demandés... Voici le code :
Code:
Private Sub Workbook_Open()
Dim i As Integer
For i = 2 To Sheets.Count
  Sheets(i).Visible = True
  Sheets("Feuil1").Visible = xlVeryHidden 'C'est la feuille d'alerte
  Sheets("dim").Visible = xlSheetVeryHidden
  Sheets("AVA").Visible = xlSheetVeryHidden
  Sheets("GRA").Visible = xlSheetVeryHidden '3 feuilles doivent rester masquées
Next
Sheets("Feuil1").Visible = xlVeryHidden
End Sub


Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim i As Integer
Sheets("Feuil1").Visible = True
For i = 2 To Sheets.Count
Sheets(i).Visible = xlVeryHidden  'C'est ici qu'excel bloque et me demande les mots de passes de feuilles

Next
End Sub

Anyone?
 

Pierrot93

XLDnaute Barbatruc
Re : Mise a jour tableaux croisés + mots de passe

Bonjour,

pour ce faire, il faut protéger les feuille via le code en utilisant l'argument "userinterfaceonly", le code pourra s'exécuter... :
Code:
Option Explicit
Private Sub Workbook_Open()
Sheets("nomfeuille").Protect "toto", userinterfaceonly:=True
End Sub
bon après midi
@+
 

leblond

XLDnaute Nouveau
Re : Mise a jour tableaux croisés + mots de passe

grrr... damned! j'y arrive pas, ça ne semble pas marcher.

Mais comme j'ai récupéré des bouts de codes à droite à gauche, c'est un peu le sahara pour moi...

Code:
Option Explicit
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Sheets("dim").Visible = xlSheetVeryHidden
Sheets("AVA").Visible = xlSheetVeryHidden
Sheets("GRA").Visible = xlSheetVeryHidden
End Sub
Private Sub Workbook_Open()
Dim i As Integer
For i = 2 To Sheets.Count
  Sheets(i).Visible = True
  Sheets("Feuil1").Visible = xlVeryHidden
  Sheets("dim").Visible = xlSheetVeryHidden
  Sheets("AVA").Visible = xlSheetVeryHidden
  Sheets("GRA").Visible = xlSheetVeryHidden
  Sheets("ACCUEIL").Select
  Next
  Sheets("Feuil1").Visible = xlVeryHidden
End Sub


Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim i As Integer
Sheets("Feuil1").Visible = True
For i = 2 To Sheets.Count
Sheets(i).Visible = xlVeryHidden

Next
End Sub

je dois mettre le code que tu m'as donné à la suite? (j'ai oublié de préciser que je suis inculte en VBA. voila, c'est dit)

merci pour ton aide.
 

Pierrot93

XLDnaute Barbatruc
Re : Mise a jour tableaux croisés + mots de passe

Re,

il faut adapter cette procédure ainsi :
Code:
Private Sub Workbook_Open()
Dim i As Integer
Sheets("nomfeuille").Protect "toto", userinterfaceonly:=True
For i = 2 To Sheets.Count
  Sheets(i).Visible = True
  Sheets("Feuil1").Visible = xlVeryHidden
  Sheets("dim").Visible = xlSheetVeryHidden
  Sheets("AVA").Visible = xlSheetVeryHidden
  Sheets("GRA").Visible = xlSheetVeryHidden
  Sheets("ACCUEIL").Select
  Next
  Sheets("Feuil1").Visible = xlVeryHidden
End Sub

nom de la feuille à modifier....
 

Discussions similaires

Statistiques des forums

Discussions
312 488
Messages
2 088 843
Membres
103 972
dernier inscrit
steeter