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

2 réponses

  1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    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
  2. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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