Microsoft 365 Apparition et disparition liste déroulante suivant choix

Samy13

XLDnaute Nouveau
Bonsoir tout le monde
Je suis à la recherche d'une formule pour faire apparaitre ou disparaitre une liste de choix suivant valeur d'une autre cellule.
cad : Cellule A = liste de choix de valeur
Cellule B = si valeur de la cellule A < à X alors = cellule C
sinon apparition liste de choix D
Merci
 
Solution
Bonjour à tous,

Voir le fichier joint. le code est dans le module de la feuille "Feuil1".
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Range("a1,c1"), Target) Is Nothing Then Exit Sub
    Range("b1").Validation.Delete
    If Range("a1") = "" Then
        Range("b1") = ""
    ElseIf Range("a1") < Range("K1") Then
        Range("b1") = Range("c1")
    Else
        Range("b1").ClearContents
        Range("b1").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
            xlBetween, Formula1:="=$D$1:$D$9"
        Range("b1").Select
    End If
End Sub

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour @Samy13,

Pas claire votre question :(. Un fichier avec un exemple aurait été le bienvenu ;).
Avec ce que j'en ai compris, un essai sans VBA et uniquement avec des formules et deux noms définis (dont un dynamique : maListe). Sans VBA, la méthode est forcément imparfaite.

Les commentaires sont dans le fichier.

Une MFC colore la cellule B1 en rouge si la valeur de la cellule B1 diffère de la liste de validation en B1.
La formule de la MFC est :
Code:
=ESTERREUR(EQUIV($B$1;maListe;0))
 

Pièces jointes

  • Samy13- validation conditionnelle- v1.xlsx
    31 KB · Affichages: 15

Samy13

XLDnaute Nouveau
Bonjour @goube, @mapomme

Merci infiniment, on arrive presque au résultat souhaité, sauf que la liste déroulante ne disparait pas totalement lorsque C3 <= 85 et affiche automatiquement la valeur de E3 seulement, car déroulé une liste avec 1 seul choix c'est pas Tip Top car le but est :

"Apparition et disparition liste déroulante suivant choix"​

 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour à tous,

Voir le fichier joint. le code est dans le module de la feuille "Feuil1".
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Range("a1,c1"), Target) Is Nothing Then Exit Sub
    Range("b1").Validation.Delete
    If Range("a1") = "" Then
        Range("b1") = ""
    ElseIf Range("a1") < Range("K1") Then
        Range("b1") = Range("c1")
    Else
        Range("b1").ClearContents
        Range("b1").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
            xlBetween, Formula1:="=$D$1:$D$9"
        Range("b1").Select
    End If
End Sub
 

Pièces jointes

  • Samy13- validation conditionnelle- v2.xlsm
    20.1 KB · Affichages: 8

Discussions similaires

Réponses
2
Affichages
270
Réponses
8
Affichages
417

Statistiques des forums

Discussions
312 152
Messages
2 085 798
Membres
102 980
dernier inscrit
brossadan