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
 

Discussions similaires


Haut Bas