Macro sur une feuille protégée

Fermé
marjorie - 2 mai 2014 à 19:05
Mike-31 Messages postés 18335 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 septembre 2024 - 2 mai 2014 à 19:20
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 14473 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 13 septembre 2024 2 728
2 mai 2014 à 19:11
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 18335 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 septembre 2024 5 095
Modifié par Mike-31 le 2/05/2014 à 19:22
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