Verrouiller une celule selon le choix d'une liste déroulante
eme.fny
-
Gyrus Messages postés 3360 Statut Membre -
Gyrus Messages postés 3360 Statut Membre -
Bonjour,
J'ai créé une liste déroulante au sein d'une cellule, et je souhaiterais, selon le choix de la liste déroulante verrouiller( griser) une autre cellule.
Exemple : En A1 je choisis dans la liste déroulante "B", je souhaiterais que la cellule C1 se vérouille, et si je choisis "A" qu'elle se déverouille.
Je ne sais pas si je me suis bien exprimée.. J'ai fait des recherches sur internet mais à part en passant par une macro (où je ne comprends rien) je ne sais pas comment faire.
Merci d'avance :)
J'ai créé une liste déroulante au sein d'une cellule, et je souhaiterais, selon le choix de la liste déroulante verrouiller( griser) une autre cellule.
Exemple : En A1 je choisis dans la liste déroulante "B", je souhaiterais que la cellule C1 se vérouille, et si je choisis "A" qu'elle se déverouille.
Je ne sais pas si je me suis bien exprimée.. J'ai fait des recherches sur internet mais à part en passant par une macro (où je ne comprends rien) je ne sais pas comment faire.
Merci d'avance :)
4 réponses
-
Bonjour,
Tu peux utiliser la Validation de donnée.
Cette fonctionnalité te permet de verrouiller la saisie.
Tu sélectionnes C1, puis DONNEES > Outils de données / Validation des données
Options >
Autoriser : Personnalisé
Formule : =A1<>"B"
Ensuite, si tu souhaites griser la cellule, tu peux utiliser une mise en forme conditionnelle.
A+-
- Pour que je puisses voir les raisons de ce dysfonctionnement, il faut que tu joignes ton fichier de test.
Pour cela :1) Tu vas dans https://www.cjoint.com/
2) Tu cliques sur [Parcourir] pour sélectionner ton fichier
3) Tu descends en bas de la page pour cliquer sur [Créer le lien Cjoint]
4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien
en bleu souligné ; clic droit dessus et "Copier l’adresse du lien"
5) Tu reviens dans ta discussion sur commencamarche , et dans ton message de réponse tu fais "Coller".
A+
-
-
Bonjour eme.fny, Gyrus
Pour Gyrus, en fait la Validation de donnée que tu proposes au post 1 empêche bien la saisie en C1 lorsque dans la cellule A1 "B" est sélectionné, mais le hic c'est que la suppression est toujours possible, donc en cas de données quelconque en C1, celle-ci ne le seront pas protégée à la suppression, à moins que je ne me trompe, alors dans ce cas mea-culpa
Autre proposition à l'essai en vba
https://www.cjoint.com/c/FJAmkQh5hyj
Slts -
Re
Donc pour voir le fonctionnement il faut à l'ouverture du fichier activer les macro si non cela ne marchera pas
Slts -
Bonjour The_boss_68,
Non, tu ne trompes pas. Avec la validation de données, la saisie est impossible si A1 ="B" mais il reste possible d'effacer la valeur qui est présente en C1.
Reste à savoir si ce type de fonctionnement correspond à l'attente de eme.fny.
Dans le cas contraire, on peut proposer une autre solution :Private Sub Worksheet_Change(ByVal Target As Range)
Dim Plage_Cible As Range
If Target.Count > 1 Then Exit Sub
Set Plage_Cible = Range("C1", Range("C" & Rows.Count).End(xlUp))
Application.ScreenUpdating = False
If Not Intersect(Plage_Cible, Target) Is Nothing Then
If Target.Offset(, -2) = "B" Then
Application.EnableEvents = False
Application.Undo
Application.EnableEvents = True
End If
End If
End Sub
Rq : Le verrouillage s'applique aux cellules renseignées de la colonne C suivant la valeur de la cellule associée en colonne A.
A+