Macro sur une feuille protégée

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

2 réponses

  1. 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
    1. 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