Macro sur une feuille protégée

marjorie -  
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Aprés avoir fait un long tour sur tous les forums je n'arrive toujours a trouver la solution a mon problème. J'ai plusieurs macro sur un fichier excel. Ces macro permettent d'afficher des lignes et de les cacher (exemple : "afficher économie"/"masquer économie"). Je veux verrouiller mes feuilles mais une fois que c'est fait je suis incapable de faire marcher mes macros... j'ai essayé toutes les formules qu'on propose sur les forums mais ca ne marche jamais.
Voici une des commandes :

Sub AfficherÉconomie()
'
' AfficherÉconomie Macro
'

'
Rows("9:44").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:=-22
Range("A9:V9").Select
End Sub

Merci d'avance ca me sauverai pas mal la mise! :)
Marjorie

A voir également:

2 réponses

via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 
Bonsoir marjorie

En debut de macro il faut deproteger ta feuille avec Activesheet.unprotect
ou Activesheet.Unprotect ("tonmotdepasse") si la feuille est protégée par MDP

et la reproteger en fin de macro avec Activesheet.Protect ("tonmotdepasse")

Cdlmnt
0
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Bonsoir,

Je ne sais si j'ai tout compris, mais essye de placer ce code pour tester dans les propriétés de ta feuille, par exemple clic droit sur l'onglet de la Feuil1/visualiser le code et colle ce code qui protégera la feuille sans mot de passe, on verra plus tard le code

Private Sub Worksheet_Activate()
Dim Feuille
For Each Feuille In ActiveWorkbook.Sheets
With Feuille
.EnableOutlining = True
'.Protect UserInterfaceOnly:=True '--------------------- Sans mot de passe
.Protect Password:="open", UserInterfaceOnly:=True '---- Avec mot de passe
End With
Next Feuille
End Sub

active ta Feuil2 et reviens sur ta Feuil1, active ta macro qui devrait fonctionner

Sub AfficherÉconomie()
Rows("9:44").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:=-22
Range("A9:V9").Select
End Sub

A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0