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

Gérer la modification de données

  • Initiateur de la discussion Initiateur de la discussion mawabou
  • 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 !

M

mawabou

Guest
Autorisation/Interdiction de modifier les champs

Bonjour à tous,
Je suis un petit nouveau sur le forum. Je voudrais mettre une case à cocher en début de ligne d'un tableau qui si elle est cocher ne permette pas la modification des données de cette ligne. Dans le cas ou la case ne serait pas cochée, la modification serait possible? Je pense que c'est possible de cfcaire ca mais comment?
Quelqu'un pourrait-il m'aider?
Merci d'avance
 
Dernière modification par un modérateur:
Re : Gérer la modification de données

Bonjour,

Il te faut gérer la protection à deux niveaux :
1. D'abord le formattage des cellules concernées
2. et ensuite, la protection de la feuille pour activer ou désactiver ce blocage

Si tu as des difficultés, tu peux poster ton fichier pour de l'aide ...

A +
 
Re : Gérer la modification de données

Salut Mawabou

3 étapes :

1- Premièrement, enlève l'option de verouillage de ta case désirée (on prend e1 pour l'exemple) donc sélectionne e1, clique en haut sur format puis cell puis sur protection et décoche locked.

2-
Fait ta case à cocher et crée un lien entre elle et une case (si tu met ta case à cocher sous E1 par exemple, lie la avec cette case et on ne verra pas apparaitre l'écriture) Tu fais ceci en cliquant droit sur ta case à cocher, puis sur porpriété et à gauche, sous linked cell met E1.

3- Ensuite, vas voir le code de ta case à cocher et copie ceci :

Code:
If [E1].Value = "False" Then
ActiveSheet.Unprotect
Else
ActiveSheet.Protect
End If

Tu vas donc te retrouver avec ceci comme code final :

Code:
Private Sub CheckBox1_Click()
If [E1].Value = "False" Then
ActiveSheet.Unprotect
Else
ActiveSheet.Protect
End If
End Sub
 
Re : Gérer la modification de données

Salut, je t'avais mal lu tu voulais protéger une seule ligne alors voici comment en suivant la même procédure que cité ci haut. En cochant la case liée avec E1, ta ligne 2 sera protégé. Si tu veux utiliser plus d'une case à cocher pour protéger plus d'un ligne à la fois, enlève : Cells.Select 'sélectionne ton tableau
Selection.Locked = False 'enlève la protection des cellules


Code:
Private Sub CheckBox1_Click()
If [E1].Value = "False" Then
ActiveSheet.Unprotect 'enlève la protection sur ton classeur
Else
Cells.Select 'sélectionne ton tableau
    Selection.Locked = False 'enlève la protection des cellules
    Rows("2").Select ' sélectionne la ligne 2 
    Selection.Locked = True ' protège les cellules
ActiveSheet.Protect
End If
End Sub
 
Re : Gérer la modification de données

Merci pour ta réponse mais je n'arrive pas à avoir le fonctionnement voulu. J'arrive bien à verrouiller les cellules mais si je veux modifier les champs, (je décoche la case) alors j'ai le message "la cellule est protégée ou en lecture seule". Le probleme venant à mon avis du fait que l'ensemble du tableau soit protégé, y compris la colonne où j'ai ma case à cocher (dans mon cas, c'est la colonne A). Pourrais-tu m'aider?
PS: je suis un "débutant" en VB et je n'ai pas trop compris ce que tu m'a dit concernant la modification de plusieurs ligne. Je voudrais avoir une case par ligne qui protège la ligne correspondant.
Je sais je sui exigent mais je vous remercie beaucoup pour votre aide.
 
Re : Gérer la modification de données

repasse les instructions données étapes par étapes. Ta case à cocher ne doit pas être protégée ainsi que la case à laquelle elle est liée. Je t'ai bien expliqué comme faire ces 2 choses.
 
Re : Gérer la modification de données

Bonjour,
Je viens encore une fois vous embéter car mon problème n'est toujours pas réslu. J'ai suivi tes instruction kllmoon mais je fais peut-être une mauvaise manip quelque part. J'ai joins mon fichier. Si quelqu'un peut m'aider ce serait formidable.
Je rappelle mon objectif: le fait de cocher la case qui se trouve en A2 doit verrouiller la ligne 2 (donc rendre impossible les modification par inadvertence) Pour modifier les champs de la ligne 2, l faudrait tout simplement décocher la case se trouvant en A2.
Ainsi de suite pour l'ensemble des lignes de mon tableau.
Merci de votre aide...
 

Pièces jointes

- 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
2
Affichages
171
Réponses
4
Affichages
240
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…