Code VBA pour protéger ma feuille

cel31

XLDnaute Nouveau
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
 

CBernardT

XLDnaute Barbatruc
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
 

cel31

XLDnaute Nouveau
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:

CBernardT

XLDnaute Barbatruc
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
 

Discussions similaires

Réponses
17
Affichages
986

Statistiques des forums

Discussions
312 809
Messages
2 092 295
Membres
105 343
dernier inscrit
Poipi81