Verrouiller une celule selon le choix d'une liste déroulante
eme.fny
-
Gyrus Messages postés 3334 Date d'inscription Statut Membre Dernière intervention -
Gyrus Messages postés 3334 Date d'inscription Statut Membre Dernière intervention -
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 :)
A voir également:
- Verrouiller une celule selon le choix d'une liste déroulante
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Verrouiller une cellule excel - Guide
- Liste déroulante google sheet - Accueil - Guide bureautique
- Supprimer liste déroulante excel - Forum Réseaux sociaux
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+
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+
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
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
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 :
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+
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+
Pour cela :
A+