Macro qui protege que ce qui est selectionner

Bonjour,

Je dois sécuriser des information rentrées sur Excel afin qu'une fois rentrées elles ne puissent pas être modifiées. Pour cela je veux utiliser les macro car plus pratique, j'ai déjà programmé une macro qui protège une page d'un coup mais sur certain documents les information sont rentrées par lignes ou colonnes et le lendemain la personne vient rajouter une ligne ou une colonne étant débutant dans l'utilisation des macro je n'arrive donc pas a programme en VBA une macro qui protège seulement ce que je selectionne. L'idéal serai que je selectionne une zone du tableur que je veux proteger et que j'applique la macro et que tout ce que j'ai selectionne soit verouiller par mot de passe.

est-ce possible ?

cordialement

theodore

Bonjour et bienvenu(e),

merci de joindre un fichier à ta demande.

Cdlt.

Bonjour Théodore, bonjour le forum

Toutes les cellules des onglets d'un classeur Excel ont, par défaut, la propriété [Locked] égale à [Vrai].

• Il te faudra donc commencer par sélectionner toutes les cellules (en cliquant dans le rectangle à l'intersection de numéros de ligne et de colonne)

• attribuer à la propriété [Locked] de toutes les cellules la valeur : [Faux] en utilisant dans le ruban Accueil / Format / Format de cellule..., Dans la boîte de dialogue Format de cellule, l'onglet Protection, décocher la case Verrouilée.

• Ensuite, tu n'auras plus qu'à sélectionner et à lancer le code ci-dessous (mot de passe à adapter) :

Sub Macro2()
ActiveSheet.Unprotect "toto"
Selection.Cells.Locked = True
ActiveSheet.Protect "toto"
End Sub

[Édition]

Bonjour Jean-Éric, nos posts se sont croisés...

Bonjour Thauthème et Jean Eric

Excusez moi pour le retard je n'avais pas vu vos réponses. j'ai avancé entre temps j'ai deux macros qui sont liées entre elles qui verrouillent seulement ce qui est sélectionné et qui permet de réutiliser cette manip plusieurs fois sur la même feuille. Mais il reste la manip qui consiste a sélectionner toutes les cellules (en cliquant dans le rectangle à l'intersection de numéros de ligne et de colonne)

puis attribuer à la propriété [Locked] de toutes les cellules la valeur : [Faux] en utilisant dans le ruban Accueil / Format / Format de cellule..., Dans la boîte de dialogue Format de cellule, l'onglet Protection, décocher la case Verrouillée a faire avant d'activer ma macro. Est t'il possible de l'intégrer a une des deux macro déjà crée ou de crée une nouvelle macro qui fait cette tache lors de l'ouverture de chaque classeur afin que grâce a une seul raccourci tout se fasse directement.

Voici si joint mes programmes il y a surement plus simple

Cordialement Théodore

Sub macro()

Range(Selection, Selection).Select

Selection.Interior.Color = RGB(226, 252, 254)

Selection.Locked = True

ActiveSheet.Protect DrawingObjects:=True, contents:=True, Scenarios:=True, Password:="theodore"

End Sub

Sub Macro2()

Range(Selection, Selection).Select

ActiveSheet.Unprotect ("theodore")

Selection.Locked = True

Selection.FormulaHidden = True

Call macro

End Sub

Bonjour,

il y a beaucoup de "selection" dans ton code je trouve, je pense qu'il peut être améliorer (voire le code de ThauThème )

pour ce qui concerne la manip :

Private Sub Workbook_Open()
  ActiveSheet.Unprotect("mot de passe")
  ActiveSheet.Cells.Locked = False

End Sub

il faudra changer "activesheet" pour l'adapter au tien

edit : pourquoi ne pas fusionner les 2 macros au lieux de utiliser "call" ?

Bonjour le fil, bonjour le forum,

Le code plus complet serait :

Private Sub Workbook_Open()
Dim O as worksheet

For Each O in worksheets
     O.Unprotect ("theodore")
     O.Cells.Locked = False
     O.Protect DrawingObjects:=True, contents:=True, Scenarios:=True, Password:="theodore"
Next O
End Sub

je rejoins tout à fait les remarques de Minanse. Ton code modifié en une seule macro:

Sub macro()
ActiveSheet.Unprotect ("theodore")
with Selection
     .Interior.Color = RGB(226, 252, 254)
     .Locked = True
     .FormulaHidden = True
End With
ActiveSheet.Protect DrawingObjects:=True, contents:=True, Scenarios:=True, Password:="theodore"
End Sub

bonjour,

Merci beaucoup grâce a vos indications j'ai une macro qui fait ce que je voulais.

Cordialement theodore

Bonjour

Rechercher des sujets similaires à "macro qui protege que selectionner"