Bonjour à tous,
J'ai un petit souci pour la mise en place d'un code VBA (je ne suis pas un spécialiste).
Je souhaite protéger une feuille partiellement où figurent de nombreuses formules (pas de problème pour ça) mais dans cette feuille, j'utilise une toupie qui me permet d'afficher ou de masquer certaines lignes, une macro réalise parfaitement le travail (avec l'aide du forum), mais si la feuille est protégée avec un code la macro ne fonctionne plus.
Pour que celle ci fonctionne correctement, j'ai inséré un bout de code qui "devrait" déprotéger la feuille, faire le travail et reprotéger la feuille. Hors, ce code de déprotection et re-protection que j'utilise par ailleurs sur d'autres actions ne fonctionne pas correctement. Je doit déprotéger "manuellement", l'action se réalise et là, la protection se refait automatiquement. Il y a donc un petit problème que je ne sais pas résoudre.
Mon code est le suivant:
Sub Compteur1_QuandChangement()
Application.ScreenUpdating = False
Dim MDP As String
MDP = "123" 'le code du mot de passe
ActiveSheet.Unprotect MDP 'déprotège à l'aide du mot de passe
Rows("29:55").EntireRow.Hidden = True 'on masque les lignes de 29 à 55
Rows("28:" & 28 + (Cells(4, 1) * 3)).EntireRow.Hidden = False
ActiveSheet.Protect Password:=MDP 'reprotège avec le mot de passe
End Sub
Merci pour votre aide.
J'ai un petit souci pour la mise en place d'un code VBA (je ne suis pas un spécialiste).
Je souhaite protéger une feuille partiellement où figurent de nombreuses formules (pas de problème pour ça) mais dans cette feuille, j'utilise une toupie qui me permet d'afficher ou de masquer certaines lignes, une macro réalise parfaitement le travail (avec l'aide du forum), mais si la feuille est protégée avec un code la macro ne fonctionne plus.
Pour que celle ci fonctionne correctement, j'ai inséré un bout de code qui "devrait" déprotéger la feuille, faire le travail et reprotéger la feuille. Hors, ce code de déprotection et re-protection que j'utilise par ailleurs sur d'autres actions ne fonctionne pas correctement. Je doit déprotéger "manuellement", l'action se réalise et là, la protection se refait automatiquement. Il y a donc un petit problème que je ne sais pas résoudre.
Mon code est le suivant:
Sub Compteur1_QuandChangement()
Application.ScreenUpdating = False
Dim MDP As String
MDP = "123" 'le code du mot de passe
ActiveSheet.Unprotect MDP 'déprotège à l'aide du mot de passe
Rows("29:55").EntireRow.Hidden = True 'on masque les lignes de 29 à 55
Rows("28:" & 28 + (Cells(4, 1) * 3)).EntireRow.Hidden = False
ActiveSheet.Protect Password:=MDP 'reprotège avec le mot de passe
End Sub
Merci pour votre aide.