Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Verrouiller formules (Excel 2010)

4 réponses
Avatar
michir
Bonjour,
Je souhaiterais ne verrouiller que les cellules avec formules dans
une feuille de calcul, et laisser la osiibilit=E9 de saisir les autres
cellules
Je suis bien la proc=E9dure mais dans la derni=E8re =E9tape, la case =E0
cocher "S=E9lectionner Cellule verrouill=E9es" et "cellules
d=E9verrouill=E9es"sont li=E9es (Impossible de ne s=E9lectionner que les
cellules verrouill=E9es, qui sont les cellules avec formules)
Sauriez vous me d=E9panner
Merci
Michel

4 réponses

Avatar
MichD
Bonjour,

Un exemple : comment procéder :

Tu adaptes le nom de la feuille à celle de ton projet.
'--------------------------------------
Sub test()
With Worksheets("Feuil1")
.Unprotect
With .Cells
.Locked = False
With .SpecialCells(xlCellTypeFormulas)
.Locked = True
End With
End With
.Protect 'Mot de passe si nécessaire
End With
End Sub
'--------------------------------------


MichD
--------------------------------------------
"michir" a écrit dans le message de groupe de discussion :


Bonjour,
Je souhaiterais ne verrouiller que les cellules avec formules dans
une feuille de calcul, et laisser la osiibilité de saisir les autres
cellules
Je suis bien la procédure mais dans la dernière étape, la case à
cocher "Sélectionner Cellule verrouillées" et "cellules
déverrouillées"sont liées (Impossible de ne sélectionner que les
cellules verrouillées, qui sont les cellules avec formules)
Sauriez vous me dépanner
Merci
Michel
Avatar
michir
On 15 mar, 15:46, "MichD" wrote:
Bonjour,

Un exemple : comment procéder :

Tu adaptes le nom de la feuille à celle de ton projet.
'--------------------------------------
Sub test()
With Worksheets("Feuil1")
    .Unprotect
    With .Cells
        .Locked = False
        With .SpecialCells(xlCellTypeFormulas)
            .Locked = True
        End With
    End With
    .Protect 'Mot de passe si nécessaire
End With
End Sub
'--------------------------------------

MichD
--------------------------------------------
"michir"  a écrit dans le message de groupe de discussion :


Bonjour,
Je souhaiterais ne verrouiller que les cellules avec  formules dans
une feuille de calcul, et laisser la osiibilité de saisir les autres
cellules
Je suis bien la procédure mais dans la dernière étape, la case   à
cocher  "Sélectionner Cellule verrouillées" et "cellules
déverrouillées"sont liées (Impossible de ne sélectionner que les
cellules verrouillées, qui sont les cellules avec formules)
Sauriez vous me dépanner
Merci
Michel



Ok, merci MichD
Avatar
michir
On 15 mar, 15:46, "MichD" wrote:
Bonjour,

Un exemple : comment procéder :

Tu adaptes le nom de la feuille à celle de ton projet.
'--------------------------------------
Sub test()
With Worksheets("Feuil1")
    .Unprotect
    With .Cells
        .Locked = False
        With .SpecialCells(xlCellTypeFormulas)
            .Locked = True
        End With
    End With
    .Protect 'Mot de passe si nécessaire
End With
End Sub
'--------------------------------------

MichD
--------------------------------------------
"michir"  a écrit dans le message de groupe de discussion :


Bonjour,
Je souhaiterais ne verrouiller que les cellules avec  formules dans
une feuille de calcul, et laisser la osiibilité de saisir les autres
cellules
Je suis bien la procédure mais dans la dernière étape, la case   à
cocher  "Sélectionner Cellule verrouillées" et "cellules
déverrouillées"sont liées (Impossible de ne sélectionner que les
cellules verrouillées, qui sont les cellules avec formules)
Sauriez vous me dépanner
Merci
Michel



Ok MichD et merci à toi, mais l'exécution de la macro que tu me
proposes provoque une erreur d'exécution 1004 lorsque je veux exécuter
une autre macro:

Sub Tout_Afficher()
Application.ScreenUpdating = False
Cells.Select
Selection.EntireRow.Hidden = False
Range("A1").Select
Application.ScreenUpdating = True
End Sub
Tu n'aurais pas une idée pour tourner la difficulté ?
Michel
Avatar
MichD
Bonjour,

Quand tu protèges une feuille, tu peux utiliser le paramètre "UserInterfaceOnly" de
la méthode "Protect" qui permet à l'usager d'utiliser les macros comme si la feuille
n'était pas protégée...
Pour appliquer ce type de protection, elle doit se faire à CHAQUE OUVERTURE du fichier.

On conséquence, on utilise habituellement l'événement "OPEN" du ThisWorkbook situé dans
le ThisWorkbook du classeur pour exécuter directement la macro ou l'appeler.

Sub test()
With Worksheets("Feuil1")
.Unprotect
With .Cells
.Locked = False
With .SpecialCells(xlCellTypeFormulas)
.Locked = True
End With
End With
.Protect "MotDePasse,True,True,True,UserInterfaceOnly:=True '<====== End With
End Sub


MichD
--------------------------------------------
"michir" a écrit dans le message de groupe de discussion :


On 15 mar, 15:46, "MichD" wrote:
Bonjour,

Un exemple : comment procéder :

Tu adaptes le nom de la feuille à celle de ton projet.
'--------------------------------------
Sub test()
With Worksheets("Feuil1")
.Unprotect
With .Cells
.Locked = False
With .SpecialCells(xlCellTypeFormulas)
.Locked = True
End With
End With
.Protect 'Mot de passe si nécessaire
End With
End Sub
'--------------------------------------

MichD
--------------------------------------------
"michir" a écrit dans le message de groupe de discussion :


Bonjour,
Je souhaiterais ne verrouiller que les cellules avec formules dans
une feuille de calcul, et laisser la osiibilité de saisir les autres
cellules
Je suis bien la procédure mais dans la dernière étape, la case à
cocher "Sélectionner Cellule verrouillées" et "cellules
déverrouillées"sont liées (Impossible de ne sélectionner que les
cellules verrouillées, qui sont les cellules avec formules)
Sauriez vous me dépanner
Merci
Michel



Ok MichD et merci à toi, mais l'exécution de la macro que tu me
proposes provoque une erreur d'exécution 1004 lorsque je veux exécuter
une autre macro:

Sub Tout_Afficher()
Application.ScreenUpdating = False
Cells.Select
Selection.EntireRow.Hidden = False
Range("A1").Select
Application.ScreenUpdating = True
End Sub
Tu n'aurais pas une idée pour tourner la difficulté ?
Michel