menu déroulant différent par rapport à un critére

Le
alain.dubois.2
Bonjour,
j'ai une base Excel où dans la colonne B, il y a "Open" ou "Close" .
j'aimerai avoir dans la colonne C, un menu déroulant avec 1, 2 ou 3
si "Open" en B (de la même ligne) ou 4, 5 ou 6 si il y a "Close" en
B (de la même ligne)
je ne pense pas qu'on puisse le faire avec des formules, peut-être
avec une macro ?
merci pour votre aide.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
ChristianM
Le #18162291
Bonjour,
Peut-être là
http://boisgontierjacques.free.fr/
choisir à gauche, vers le bas de la liste "listes cascade"

--
ChristianM



Bonjour,
j'ai une base Excel où dans la colonne B, il y a "Open" ou "Close" .
j'aimerai avoir dans la colonne C, un menu déroulant avec 1, 2 ou 3
si "Open" en B (de la même ligne) ou 4, 5 ou 6 si il y a "Close" en
B (de la même ligne)
je ne pense pas qu'on puisse le faire avec des formules, peut-être
avec une macro ?
merci pour votre aide.
JB
Le #18163001
Bonjour,

=SI(B2="Open";listea;listeb)

JB

On 17 déc, 11:40, "ChristianM" wrote:
Bonjour,
Peut-être làhttp://boisgontierjacques.free.fr/
choisir à gauche, vers le bas de la liste "listes cascade"

--
ChristianM


Bonjour,
j'ai une base Excel où dans la colonne B, il y a "Open"  ou "Close" .
j'aimerai avoir dans la colonne C, un menu déroulant avec  1, 2 ou 3
si "Open" en B (de la même ligne)  ou  4, 5 ou 6 si il y a "Close" en
B (de la même ligne)
je ne pense pas qu'on puisse le faire avec des formules,  peut-être
avec une macro ?
merci pour votre aide.


garnote
Le #18163411
Salut Alain,

Peut-être ceci :
Sélectionne tes valeurs de la colonne B et
appelle cette macro :

Sub Validations1()
Dim c As Range
Dim v As String
For Each c In Selection
c.Offset(0, 1).Validation.Delete
If UCase(c) = "OPEN" Then v = "=liste1" Else v = "=liste2"
c.Offset(0, 1).Validation.Add Type:=xlValidateList, _
AlertStyle:=xlValidAlertStop, _
Operator:=xlBetween, Formula1:=v
Next c
End Sub

ou celle-ci :

Sub Validations2()
Dim c As Range
Dim v As String
For Each c In Selection
c.Offset(0, 1).Validation.Delete
If UCase(c) = "OPEN" Then
v = "=liste1"
ElseIf UCase(c) = "CLOSE" Then
v = "=liste2"
Else: v = ""
End If
If v <> "" Then _
c.Offset(0, 1).Validation.Add Type:=xlValidateList, _
AlertStyle:=xlValidAlertStop, _
Operator:=xlBetween, Formula1:=v
Next c
End Sub

liste1 est le nom d'une plage continue contenant 1, 2 et 3.
liste2 est le nom d'une plage continue contenant 4, 5 et 6.


Serge





Bonjour,
j'ai une base Excel où dans la colonne B, il y a "Open" ou "Close" .
j'aimerai avoir dans la colonne C, un menu déroulant avec 1, 2 ou 3
si "Open" en B (de la même ligne) ou 4, 5 ou 6 si il y a "Close" en
B (de la même ligne)
je ne pense pas qu'on puisse le faire avec des formules, peut-être
avec une macro ?
merci pour votre aide.
garnote
Le #18163921
Inutile de passer par une macro.

Exemple :
Sélectionne C2:C1000
Clique Données / Validation...
Autoriser : Liste
Source : =SI(B2="open";liste1;liste2)

Et là je constate que c'est la formule de JB.

Serge


"garnote"
Salut Alain,

Peut-être ceci :
Sélectionne tes valeurs de la colonne B et
appelle cette macro :

Sub Validations1()
Dim c As Range
Dim v As String
For Each c In Selection
c.Offset(0, 1).Validation.Delete
If UCase(c) = "OPEN" Then v = "=liste1" Else v = "=liste2"
c.Offset(0, 1).Validation.Add Type:=xlValidateList, _
AlertStyle:=xlValidAlertStop, _
Operator:=xlBetween, Formula1:=v
Next c
End Sub

ou celle-ci :

Sub Validations2()
Dim c As Range
Dim v As String
For Each c In Selection
c.Offset(0, 1).Validation.Delete
If UCase(c) = "OPEN" Then
v = "=liste1"
ElseIf UCase(c) = "CLOSE" Then
v = "=liste2"
Else: v = ""
End If
If v <> "" Then _
c.Offset(0, 1).Validation.Add Type:=xlValidateList, _
AlertStyle:=xlValidAlertStop, _
Operator:=xlBetween, Formula1:=v
Next c
End Sub

liste1 est le nom d'une plage continue contenant 1, 2 et 3.
liste2 est le nom d'une plage continue contenant 4, 5 et 6.


Serge





Bonjour,
j'ai une base Excel où dans la colonne B, il y a "Open" ou "Close" .
j'aimerai avoir dans la colonne C, un menu déroulant avec 1, 2 ou 3
si "Open" en B (de la même ligne) ou 4, 5 ou 6 si il y a "Close" en
B (de la même ligne)
je ne pense pas qu'on puisse le faire avec des formules, peut-être
avec une macro ?
merci pour votre aide.



Jacky
Le #18164441
Bonsoir,

Sans VBA et Le nom des sources "Open" et "Close"
Validation Données==>source =INDIRECT($B1)
Voir ici:
http://www.cijoint.fr/cjlink.php?file=cj200812/cijmqHTFLb.xls

--
Salutations
JJ



Bonjour,
j'ai une base Excel où dans la colonne B, il y a "Open" ou "Close" .
j'aimerai avoir dans la colonne C, un menu déroulant avec 1, 2 ou 3
si "Open" en B (de la même ligne) ou 4, 5 ou 6 si il y a "Close" en
B (de la même ligne)
je ne pense pas qu'on puisse le faire avec des formules, peut-être
avec une macro ?
merci pour votre aide.
Publicité
Poster une réponse
Anonyme