Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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

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

5 réponses

Avatar
ChristianM
Bonjour,
Peut-être là
http://boisgontierjacques.free.fr/
choisir à gauche, vers le bas de la liste "listes cascade"

--
ChristianM


a écrit dans le message de news:

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.
Avatar
JB
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

a écrit dans le message de news:

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.


Avatar
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




a écrit dans le message de news:

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.
Avatar
garnote
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" a écrit dans le message de news: %
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




a écrit dans le message de news:

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.



Avatar
Jacky
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


a écrit dans le message de news:

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.