Masquer ou afficher des lignes avec une feuille protégée

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

murielbruno

XLDnaute Nouveau
Bonjour,

merci à ceux qui m'ont répondu lors de ma première connexion au forum

J'ai un projet dans lequel la feuille doit être protégée hors lorsque elle est protégé le visual basic ne fonctionne pas et cela fonctionne dès que j'ote la protection de la feuille
je choisis dasn la liste déroualnte de la cellule jaune et cela masque ou affiche des lignes
je vous envoie le fichier la feuille est protégée sans mot de passe

pouvez vous m'expliquer comment faire?

merci par avance
 

Pièces jointes

Re : Masquer ou afficher des lignes avec une feuille protégée

Bonjour à tous,

Peux-tu essayer avec ce code :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
 ActiveSheet.Unprotect
 Application.ScreenUpdating = False
  
 'si modification d'une autre cellule que E19 va à la suite
If Target.Address <> "$E$19" Then Exit Sub
If Target.Value = "Test" Then 'si la cellule=Assurance Vie
Rows("20:20").EntireRow.Hidden = True
Rows("22:23").EntireRow.Hidden = True
Rows("53:54").EntireRow.Hidden = True
Else
Rows("20:20").EntireRow.Hidden = False 'affiche la ligne 20
Rows("22:23").EntireRow.Hidden = False 'affiche les lignes 22 à 23
Rows("53:54").EntireRow.Hidden = False 'affiche les lignes 53 à 54
Range("F23:I23").ClearContents
End If
ActiveSheet.Protect
 Application.ScreenUpdating = True
End Sub
A+
 

Pièces jointes

Re : Masquer ou afficher des lignes avec une feuille protégée

Bonsoir, muriel
bonsoir JC 🙂

un peu plus court :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
'si modification d'une autre cellule que E19 va à la suite
If Target.Address <> "$E$19" Then Exit Sub
ActiveSheet.Unprotect
Range("20:20,22:23,53:54").EntireRow.Hidden = IIf(Target = "Test", True, False)
Range("F23:I23").ClearContents
ActiveSheet.Protect
End Sub

Nota : pour pouvoir modifier ta cellule E19, déprotège ta feuille, puis fais format/Cellule, onglet Protection, et désélectionne "Verrouillée"
 
Dernière édition:
Re : Masquer ou afficher des lignes avec une feuille protégée

une question complémentaire à ma demande
est il envisageable de protéger et déprotéger automatiquement en visual basic une feuille avec un mot de passe sans que le mot de passe soit demandé à l'utilisateur mais que la macro le tape automatiquement?
 
Re : Masquer ou afficher des lignes avec une feuille protégée

Bonjour à tous,

Peux-tu essayer avec :

Code:
ActiveSheet.Unprotect "muriel"

....... le code ...............

ActiveSheet.Protect "muriel"
A+

Edition : Salut BH² 🙂
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour