Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Code VBA pour protéger ma feuille

  • Initiateur de la discussion Initiateur de la discussion cel31
  • Date de début Date de début

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 !

C

cel31

Guest
Bonjour,

J'aimerais protéger ma feuille "SYNTHÈSE panneaux" mais si je le fais via Révision dans le ruban, mon code VBA ne fonctionne plus. Je souhaiterais que la personne qui ouvre cette feuille ne puisse rien toucher, juste imprimer.

Voici mon code :

Code:
Private Sub Worksheet_Activate()
        Dim x As Integer
    For x = 3 To 676
        If Cells(x, 1) = "" Or Cells(x, 1) = 0 Then
            Rows(x).EntireRow.Hidden = True     'masque
        Else
            Rows(x).EntireRow.Hidden = False    'affiche
        End If
    Next x
End Sub

J'ai trouvé quelques codes intéressants sur les forums mais je n'arrive pas a l'appliquer a mon cas.

Merci d'avance
 
Re : Code VBA pour protéger ma feuille

Bonjour cel31 et le forum,

Essaye cette macro :

Private Sub Worksheet_Activate()
Dim x As Integer
ActiveSheet.Unprotect "lemotdepassefeuille"
For x = 3 To 676
If Cells(x, 1) = "" Or Cells(x, 1) = 0 Then
Rows(x).EntireRow.Hidden = True 'masque
Else
Rows(x).EntireRow.Hidden = False 'affiche
End If
Next x
ActiveSheet.Protect "lemotdepassefeuille", True, True, True
End Sub
 
Re : Code VBA pour protéger ma feuille

Bonjour CBernardT, et merci de votre réponse,

Ca a marché, mais maintanant ça m'écrit une erreur d'exécution


Erreur d'éxécution '1004' :
Mot de passe non valide. Vérifiez que la touche VERR. MAJ. n'est pas activée et que vous respectez la bonne casse.

Alors que j'ai simplement cliqué sur ma feuille.

Merci d'avance pour votre aide.
 
Dernière modification par un modérateur:
Re : Code VBA pour protéger ma feuille

Re,

Une autre syntaxe possible :
Private Sub Worksheet_Activate()
Dim Plage As Range
ActiveSheet.Unprotect "MDPFeuille"
Set Plage = Range("A1:A" & Range("A100000").End(xlUp).Row)
Plage.Rows.AutoFit
Plage.SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True 'masque
ActiveSheet.Protect "MDPFeuille", True, True, True
End Sub
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
41
Affichages
1 K
Réponses
2
Affichages
495
Réponses
15
Affichages
642
Réponses
3
Affichages
901
Réponses
16
Affichages
1 K
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
431
Réponses
4
Affichages
487
Réponses
6
Affichages
557
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…