Insérer soit une valeur soit une liste déroulante?

Vico M.

XLDnaute Nouveau
Bonjour,

Débutant sur excel et ce forum, je souhaiterai afficher au sein de ma cellule résultat R soit :
  • Une liste déroulante si la condition est vraie
  • Une valeur fixe (texte, chiffre, prenons le chiffre 1 pour l'exemple) si la condition est fausse
La condition sera la valeur prise par une case T testée par ma conditionnelle SI.

Pour le moment, j'arrive à afficher la liste déroulante si la condition est remplie, mais quand la condition ne l'est pas, je n'arrive pas à imposer de valeur, la case reste simplement vide ou sur la dernière valeur prise.

Ce que j'ai fait : j'ai appliqué une validation de données liste sur ma case R, avec comme source la formule :
=SI($E2="v";$M$3:$M$5;1)

Je ne vois pas ce qui m'empêche d'obtenir 1 si je mets autre-chose que "v" dans ma case T...je joins mon fichier d'exemple.

Merci d'avance pour votre aide!
 

Fichiers joints

vgendron

XLDnaute Barbatruc
Hello
j'ai eu le meme souci il y a peu de temps..
pas sur que ce soit possible
j'ai contourné le problème de la sorte
dans ton fichier: en N3, tu mets la valeur fixe
et dans la condition de validation
=SI($E2="v";$M$3:$M$5;$N$3)

mais oui. ca impose de devoir RE selectionner la valeur fixe..

sinon, je pense qu'il faut passer par du VBA -evènement change

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [E2]) Is Nothing Then
    If UCase(Target) <> "V" Then
        [E6].Validation.Delete
        [E6] = 1
    Else
        With [E6].Validation
            .Delete
            .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="=$M$3:$M$5"
    End With
    End If
End If
End Sub
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas