Protection cellules
bonjour
j'ai voulu proteger plusieurs pages sauf certaines cellules qui doivent etre deverrouillées pour pouvoir rentre des données
quand je veux faire une remise a zero de l'ensemble il me plante
je vous joint le fichier qui sera plus explicite
https://www.excel-pratique.com/~files/doc/calendrier_polobis.zip
merci de vos réponses
Bonjour,
Pour protéger tes cellules, sélectionne sur chaque feuille les cellules à protéger puis vas dans menu/format/cellule et sous l'onglet Protection" décoche la case "verrouillé"
Ensuite retourne sur ta feuille, vas dans menu/outils/protection et protège la en veillant à décocher la case "objet" si tu as des boutons sur cette feuille.
Ensuite essaye cette macro
Sub VIDER()
Dim sh As Worksheet
For Each sh In Worksheets
With ActiveSheet
.Unprotect
Union(Range("E26:E27,G26:M27,G39,C6:C7,E6:E7,G6:G7,I6:I7,K6 _
K7,M6:M7,C10:C11,E10:E11,G10:G11,I10:I11,K10:K11,M10:M11, _
C14:C15,E14:E15,G14:G15,I14:I15,K14:K15,M14:M15,C18:C19, _
E18:E19,G18:G19,I18:I19,K18:K19,M18:M19,C22:C23,E22:E23, _
G22:G23,I22:I23,K22:K23"), _
Range("M22:M23,C26:C27")).ClearContents
.Protect
End With
Next sh
End SubAmicalement
Dan
Salutdedemimi a écrit :bonjour
j'ai voulu proteger plusieurs pages sauf certaines cellules qui doivent etre deverrouillées pour pouvoir rentre des données
quand je veux faire une remise a zero de l'ensemble il me plante
je vous joint le fichier qui sera plus explicite
https://www.excel-pratique.com/~files/doc/calendrier_polobis.zip
merci de vos réponses
comme tu ne simplifies pas la tâche avec des noms de mois inconnus d'Excel, j'ai supprimé les feuilles qui ne sont ni une feuille de mois, ni la feuille recap. il en résulte 2 macro : une de protection, une de vidage :
Sub Verr()
Dim F As Worksheet
Dim Cel As Range
For Each F In Sheets
If Not (F.Name Like "RE*") Then
F.Unprotect
F.UsedRange.Cells.Locked = True
For Each Cel In F.UsedRange
If Cel = "KALLEE" Or Cel = "CETA" Then Cel.Offset(0, 1).Locked = False
Next Cel
F.Protect
End If
Next F
End Sub
Sub Vid()
Dim F As Worksheet
Dim Cel As Range
For Each F In Sheets
If Not (F.Name Like "RE*") Then
For Each Cel In F.UsedRange
If Cel = "KALLEE" Or Cel = "CETA" Then Cel.Offset(0, 1).ClearContents
Next Cel
End If
Next F
End SubLa première verrouille toutes les cellules, puis déverrouille celles à droite de celles contenant KALLEE ou CETA avec une déprotection en début, puis une protection de la feuille avant de passer à la suivante
La seconde efface le contenu des cellules à droite de celles contenant KALLEE ou CETA, sur toutes les feuilles.
A+