Empêcher modifications cellule [Fermé]

Signaler
Messages postés
21
Date d'inscription
lundi 29 décembre 2014
Statut
Membre
Dernière intervention
1 mai 2017
-
Messages postés
8206
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
9 octobre 2020
-
Bonjour tout le monde, voilà je vais y aller directement :lol: .

J'utilise quotidiennement Excel, j'aimerai une application y incluse (Excel 2013) ou une autre méthode qui me permettrait d'écrire une et une seule fois pour toute sans posibilité de modification dans une se ses colonnes.

Je sais si une telle option existe mais j'en ai vraiment besoin car ayant cherché sur tous les forums en vain :??: . Je m'en remet à vous. Merci.



2 réponses

Messages postés
12757
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
12 octobre 2020
2 041
Bonjour

Une possibilité par macro

En premier lieu déverrouiller toutes les cellules de la feuille ( Format de cellue - Protection - Décocher Verrouillé)

Ensuit copier coller la macro dans le worksheet de la feuille (ALT+F11 pour ouvrir éditeur VBA, Double-clic sur feuille concernée dans arborescence)

Private Sub Worksheet_Change(ByVal Target As Range)
'recupèration lettre de la colonne d'entrée d'une valeur
col = Split(Target.Address, "$")(1)
'selection de la colonne
Columns(col & ":" & col).Select
' déprotection de la feuille
ActiveSheet.Unprotect
' Verouillage de la colonne selectionnée
Selection.Locked = True
' Reprotection de la feuille
ActiveSheet.Protect
End Sub


Cdlmnt
Via

"L'imagination est plus importante que le savoir." A. Einstein
Messages postés
21
Date d'inscription
lundi 29 décembre 2014
Statut
Membre
Dernière intervention
1 mai 2017

Bonjour Via55, je vais essayer ta méthode et t'en dire prochainement des nouvelles. Merci.
Messages postés
8206
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
9 octobre 2020
1 488
Bonjour via55,

Plus simplement :
Private Sub Worksheet_Change(ByVal Target As Range)
' Déprotection de la feuille
ActiveSheet.Unprotect
' Verrouillage de la ou des colonnes concernées 
Target.EntireColumn.Locked = True
' Reprotection de la feuille
ActiveSheet.Protect
End Sub
fonctionne aussi en cas de sélection multiple (et validation par Maj+Crtl+Entrée)


Edit : j'ai aussi répondu trop vite, en réalité il vaut mieux écrire :
Private Sub Worksheet_Change(ByVal Target As Range)
' Déprotection de la feuille
Me.Unprotect
' Verrouillage de la ou des colonnes concernées
Target.EntireColumn.Locked = True
' Reprotection de la feuille
Me.Protect
End Sub
car la feuille peut ne plus être active au moment du change, c'est le cas lorsqu'on valide la saisie en cliquant sur un autre onglet.

Cordialement
Messages postés
52430
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
12 octobre 2020
14 271
Bonjour IRSJ.
"ayant cherché sur tous les forums en vain"
-> tu cherchais quoi, très précisément ?
Car, même sans la macro de mon ami via55, une fois ta colonne renseignée tu déverrouilles toute la feuille comme indiqué, puis tu verrouilles la colonne et tu fais Révision/Protéger la feuille
(le mot de passe n'est pas indispensable).
Messages postés
21
Date d'inscription
lundi 29 décembre 2014
Statut
Membre
Dernière intervention
1 mai 2017

Merci Raymond, mais le problème est que je veux qu'on puisse travailler à plusieurs sur un mème fichier avec une mème base de données. Pour que une fois on a saisi quelque chose dans une cellule ou case, on ne puisse plus le changer. Sans intervention de personne ou du logiciel mème.
Messages postés
52430
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
12 octobre 2020
14 271 >
Messages postés
21
Date d'inscription
lundi 29 décembre 2014
Statut
Membre
Dernière intervention
1 mai 2017

Ah ! Ce n'était pas aussi clairement expliqué au départ !
J'ignore si ce sera faisable (sauf peut-être par macro) ...