Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

[RESOLU] Afficher une valeur ou une liste déroulante

  • Initiateur de la discussion Initiateur de la discussion thombzh
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

T

thombzh

Guest
Bonjour,

Dans la colonne A j'ai une liste déroulante, le choix est A ou B

Dans une autre feuille j'ai une liste déroulante nommée Test_liste
et je voudrais obtenir l'équivalent de cette formule dans données/validation/liste
=si(A1="A";"ok";Test_liste)

Mais évidemment sa ne fonctionne pas
En nommant une case ok dont la valeur est "ok" j'obtient bien le choix de mes 2 listes mais le pb est que la ligne est vierge, il faut que je sélectionne "Ok" et ce n'est pas le but.

Une idée ?

En somme : si A1=A : B1=Ok (valeur fixe)
si A1=B : B1=Test_liste (liste déroulante)
 
Dernière modification par un modérateur:
Re : Afficher une valeur ou une liste déroulante

Bonjour.
Essayez une sub Worksheet_Change dans le module de la feuille qui réagit au changement dans la colonne A en mettant "Ok" dans la colonne B si c'est "A" et installe la liste de validation dans le cas contraire. Fhouuu !… Que c'est long à décrire… ç'aurait été plus vite fait de le programmer !
Seulement voilà: personne, pas plus moi qu'un autre, n'a envie d'ouvrir un nouveau classeur, y reproduire, forcément à peu près, ce qui est décrit et le faire. ON VEUT TOUJOURS TRAVAILLER SUR LE CLASSEUR JOINT !
 
Re : Afficher une valeur ou une liste déroulante

Arf, désolé, je l'avais pourtant fait, mais pas attaché.

Dois je en déduire que ce n'est pas possible par formule ?
 

Pièces jointes

Re : Afficher une valeur ou une liste déroulante

Par formule, non je ne pense pas.
À la rigueur avec une référence à Test_Liste qui dépendrait de la valeur en colonne A, mais ce serait plus compliqué.
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 1 Or Target.Count <> 1 Then Exit Sub
With Target.Offset(, 1)
   .Validation.Delete
   If Target.Value = "A" Then
      .Value = "Ok"
   Else
      .Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="=Test_liste"
      End If
   End With
End Sub
 
Re : Afficher une valeur ou une liste déroulante

Bonjour,

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Column = 1 Then
    If Target = "A" Then
       Target.Offset(, 1) = "ok"
     Else
       Target.Offset(, 1) = ""
       Target.Offset(, 1).Select
       'SendKeys ("%{down}")
     End If
  End If
End Sub

JB
 

Pièces jointes

Dernière édition:
Re : Afficher une valeur ou une liste déroulante

Yes, entre les 2 mon coeur balance.

Comme j'ai plusieurs fichiers à faire, et que je vais être souvent confronter au même problème, je vais donc utiliser les 2.

Merci pour tout.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…