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

Verrouillage de quelque cellule après la saisie

  • Initiateur de la discussion Initiateur de la discussion Sidah.med
  • 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 !

S

Sidah.med

Guest
Bonsoir forum.
Ma question : je veux verrouiller qlq cellules AUTOMATIQUEMENT une fois j’ai saisie dedans, et est-il possible de faire sortie une boite de dialogue avant le verrouillage pour la validation ? (exemple : Veuillez confirmer la valeur ou l’information saisie ?)
Merci pour tous
 
Re : Verrouillage de quelque cellule après la saisie

Bonsoir Sidah.med, bonsoir le forum,

En pièce jointe un petit exemple qui fonctionne avec l'onglet Feuil1 protégé et dont toutes les cellules sont au départ déverrouillées. J'ai limité l'action du code à la plage A1:A10 (en jaune) tu adapteras à ton cas.
La macro événementielle Change agit automatiquement à chaque changement dans l'onglet. Pour voir le code clique avec le bouton-droit en bas dans le nom de l'onglet et choisit l'option Visualiser le code.
Code:
Private test As Boolean 'déclare la variable test

Private Sub Worksheet_Change(ByVal Target As Range) 'au changement dans l'onglet
If test = True Then Exit Sub 'si test est vraie, sort de la procédure
If Selection.Cells.Count > 1 Then Exit Sub 'si la sélection contient plus d'une seule cellule, sort de la procédure
If Target.Value = "" Then Exit Sub 'si la cellule est effacée, sort de la procédure
'si le changement a lieu ailleurs que dans la plage A1:A10, sort de la procédure (tu adapteras à ton cas)
If Application.Intersect(Target, Range("A1:A10")) Is Nothing Then Exit Sub
test = True 'définit la variable test
'condition : si "oui" au message
If MsgBox("Validez-vous cette entrée ?", vbYesNo, "Attention !") = vbYes Then
    ActiveSheet.Unprotect 'déprotège l'onglet
    Target.Locked = True 'verrouille la cellule modifiée
    ActiveSheet.Protect 'protège l'onglet
Else 'sinon
    Target.Select 'sélectionne la cellule modifié
    Target.ClearContents 'supprime le contenu de la cellule modifié (cette action relance la procédure d'où le test...)
End If 'fin de la condition
test = False 'redéfinit la variable test
End Sub
Le fichier :

 

Pièces jointes

Re : Verrouillage de quelque cellule après la saisie

Bonsoir ROBERTet merci pour ton Help
Mais j’ai un autre souci ; l’application fonctionne très bien mais si je protège la feuille totalement et je laisse seulement les cellules a remplir déverrouillé … l’application débugue why ??????
si vous permettez je te propose un essai sur dernier fichier
1. saisir une valeur dans la cellule A1
2. valider par ENTREE
3. L’application affiche un message de confirmation..jusqua mnt tous vas bien
4. ICI ça commence …..si je clic sur OK l’application me demande d’ôter la protection ( donc c’est mon 1er pblm je ne veux pas désactiver la protection de la feuille)
5. Et si je clic sur OUI ou ANNULE un message d’erreur s’affiche « erreur d’exécution 1004 » !!!!!!!!!!!

Vivre Bien Avec VBA
"Pourquoi faire facile quand on peut faire compliquer."
Merci encore une fois
 
Re : Verrouillage de quelque cellule après la saisie

Bonjour Sidah.med, bonjour le forum,

Chez moi l'exemple que je t'ai proposé fonctionne parfaitement. De toute manière pour verrouiller des cellules il faut forcément protéger l'onglet. Par défaut toutes les cellules de tous les onglets d'un classeur sont verrouillées. Mais comme par défaut aucun onglet n'est protégé, on peut donc éditer n'importe quelle cellule. Dans l'exemple j'ai fait le contraire, J'ai déverouillé toutes les cellules de l'onglet Feuil1 et protégé l'onglet.
Je ne comprends pas pourquoi ça plante chez toi. Mets ton fichier en pièce jointe qu'on puisse comprendre...
 
Re : Verrouillage de quelque cellule après la saisie

Bjr à tous

JB, je me permets d'intervenir car l'exemple que tu fournis m'intéresse et je l'ai testé, or dès que je remplis une des cellules de la zone B2:B13, toutes les cellules de la zone se trouvent verrouillées, pourrais-tu voir pour ne verrouiller que celles remplies ?

merci de ton aide...cordialement, Gérard
 
Re : Verrouillage de quelque cellule après la saisie

Bonsoir le fourum...
Donc je pense que je ne suis pas le seul d'avoir ce pblm... alors aidez nous a vous aider
Vivre Bien Avec VBA
"Pourquoi faire facile quand on peut faire compliquer."
Merci encore une fois
 
- 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

  • Question Question
XL 2021 Macro
Réponses
6
Affichages
315
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…