Signaler

Verrouillage automatique des cellules dans excel [Résolu]

Posez votre question arthurvoirin 11Messages postés vendredi 8 septembre 2017Date d'inscription 29 septembre 2017 Dernière intervention - Dernière réponse le 3 oct. 2017 à 14:31 par félix
Bonjour,
j'aurais voulu savoir si quelqu'un aurait la solution avec une formule ou autre technique pour verrouiller les cellules a mesures qu'elles se remplissent.

Je vous remercie d'avance,
Arthur.
Utile
+0
plus moins
Bonjour

Par formule pas possible, il faut passer par une macro en VBA mais c’est dangereux car la macro sera déclenchée par la touche entrée et plus moyen de corriger si on s'est trompé
Est ce ce que tu veux malgré tout ?

Cdlmnt
Via
arthurvoirin 11Messages postés vendredi 8 septembre 2017Date d'inscription 29 septembre 2017 Dernière intervention - 29 sept. 2017 à 16:58
Re-bonjour,
merci d'avoir répondu si rapidement, si cela ne te déranges pas et que cela ne te prends pas trop de temps je veux bien la formule...

Bien sincèrement
Arthur
Répondre
Donnez votre avis
Utile
+0
plus moins
Bonjour

Il faudra passer par une macro
http://www.cjoint.com/c/GIDpbpn7KjB

Cdlmnt
arthurvoirin 11Messages postés vendredi 8 septembre 2017Date d'inscription 29 septembre 2017 Dernière intervention - 29 sept. 2017 à 17:18
Bonjour,
en essayant de modifier le code, je me suis aperçu qu'il m'était impossible de le changer; que cela soir la plage, que de le combiner avec une autre macro... Quand j'essai de changer la plage, par exemple A1:D20 à A1:E20, excel me répond que la feuille est verrouillée et qu'il m'est alors impossible de modifier les cellules de E1 à E20...
Aussi, lorsque j'essai d'integrer le code avec un autre, la feuille se verrouille tout de suite après avoir entré une valeur et il n'est alors plus possible d'entrer quelque chose

Merci d'avance,
Arthur
Répondre
Donnez votre avis
Utile
+0
plus moins
Quand j'essai de changer la plage, par exemple A1:D20 à A1:E20, excel me répond que la feuille est verrouillée et qu'il m'est alors impossible de modifier les cellules de E1 à E20...
La première chose à faire c'est de déprotéger "à la main" la feuille (mot de passe MDP)
Dans mon exemple, seuloe la plage A1:D20 est déverrouillée au départ.
la feuille se verrouille tout de suite après avoir entré une valeur et il n'est alors plus possible d'entrer quelque chose
C'est ce que tu as demandé non ? d'ailleurs via55 (que je salue au passage)
En fait, le verrouillage d'une cellule ne fonctionne que si la feuille est protégée

Cdlmnt
arthurvoirin 11Messages postés vendredi 8 septembre 2017Date d'inscription 29 septembre 2017 Dernière intervention - 29 sept. 2017 à 17:38
Problème résolu !
Merci de ton investissement...

Bonne fin de journée
Arthur
Répondre
Donnez votre avis
Utile
+0
plus moins
Re,

1) Selectionner toutes les cellules de la feuille (triangle en haut à gauche entre les barres de titres horizontale et verticale) - Format de cellule - Protection - Décocher Verrouillée

2) Protéger la feuille (Onglet Revision), éventuellement avec un mot de passe

3) ALT+F11 pour ouvrir l'éditeur VBA - Selectionner par double-clic la feuille sur laquelle agir dans arborescence à gauche - Copier et coller la macro ci-dessous dans la page et fermer l'éditeur
Private Sub Worksheet_Change(ByVal Target As Range)
ActiveSheet.Unprotect
Range(ActiveCell.Offset(-1, 0).Address).Locked = True
ActiveSheet.Protect
End Sub


Si la feuille a été protégée par un mot de passe indiquer ce mot de passe entre guillements après les instructions Unprotect et Protect :
ActiveSheet.Unprotect "toto"

Cdlmnt
Via
félix- 3 oct. 2017 à 14:14
J'ai complété ma réponse précédente ; merci de me dire si ça a marché.  ;)
Répondre
BADIBA félix - 3 oct. 2017 à 14:15
je viens juste de d'essayer avec

Private Sub Worksheet_Change(ByVal Target As Range)
ActiveSheet.Unprotect "123"
ActiveCell.Locked = True
ActiveSheet.Protect "123"
End Sub
mais j'ai pas encor le résultat escorte.

si c'est pas trop de demander, je vous demanderais de me donner le processus au complet.

merci.
Répondre
félix- 3 oct. 2017 à 14:19
 
Dis-moi ce que tu as dans « Options avancées » :

Cas 1 :
     ☐  Déplacer la sélection après validation

Cas 2 :
     ☑  Déplacer la sélection après validation
           Sens : Bas

Si autre, à préciser.

Je te demande ça car le code à utiliser dépend de l'option
que tu utilises réellement en pratique.

À te lire pour la suite.
 
Répondre
BADIBA BADIBA - 3 oct. 2017 à 14:24
Merciiiiiiiiiiiiiiiiiiiiiii

Ça a parfaitement fonctionne
je veux dire le fichier que je viens de telecharger.

mais j'aimerais avoir la technique pour réussir a le faire dans ma programmation.
si toutefois c'est possible envoyez moi la technique complète pour y arriver.
Répondre
félix- 3 oct. 2017 à 14:31
 
L'utilisation de la sub Worksheet_Change() fait que son code est exécuté
chaque fois qu'une cellule de la feuille est modifiée ; ce code est très
simple (3 instructions courtes seulement) :

a) Déprotéger la feuille avec : ActiveSheet.Unprotect "123"
b) Verrouiller la cellule active : ActiveCell.Locked = True
c) Protéger la feuille avec : ActiveSheet.Protect "123"
 
Répondre
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !