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

Liste déroulante en fonction d'une case précédente

12 réponses
Avatar
flang
Bonjour,

Je suis en train de faire un fichier stock informatique.
J'ai deux colonnes B et C...

La colonne B est à une liste déroulante sur les cases =$AB$7:$AB$8
Sur la colonne C, je voudrais suivant le résultat de la colonne B, afin deux
listes déroulantes différentes.

En gros, ma colonne B, correspond à "portable" ou "fixe"; et je veux dans la
colonne C mettre a liste de portable ou de fixe uniquement.

Merci pour votre aide

10 réponses

1 2
Avatar
JPMonnier
Bonjour,
copie cette proc dans VBA feuilx
modifie les adresses à ta convenance

Private Sub Worksheet_Change(ByVal Target As Range)
If Target = [$B$7] Then 'cellule avec liste de choix PC, PORT
If [b7] = "PC" Then
With [c7].Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=
_
xlBetween, Formula1:="=$E$1:$E$9" 'Liste pour PC
End With
Else
With [c7].Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=
_
xlBetween, Formula1:="=$F$1:$F$9" 'Liste pour portable
End With
End If
End If
End Sub
--
Cordialement


"flang" a écrit dans le message de
news:
Bonjour,

Je suis en train de faire un fichier stock informatique.
J'ai deux colonnes B et C...

La colonne B est à une liste déroulante sur les cases =$AB$7:$AB$8
Sur la colonne C, je voudrais suivant le résultat de la colonne B, afin
deux
listes déroulantes différentes.

En gros, ma colonne B, correspond à "portable" ou "fixe"; et je veux dans
la
colonne C mettre a liste de portable ou de fixe uniquement.

Merci pour votre aide


Avatar
flang
Merci pour ta réponse.
Alors, je suis vraiment un newbie en macro... et surtout sous Excel 2007.

Pour créer une VBAfeuilx, je fais insérrer dans les feuilles, et "Maro MS
Excel 4.0" ??

"JPMonnier" wrote:

Bonjour,
copie cette proc dans VBA feuilx
modifie les adresses à ta convenance

Private Sub Worksheet_Change(ByVal Target As Range)
If Target = [$B$7] Then 'cellule avec liste de choix PC, PORT
If [b7] = "PC" Then
With [c7].Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=
_
xlBetween, Formula1:="=$E$1:$E$9" 'Liste pour PC
End With
Else
With [c7].Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=
_
xlBetween, Formula1:="=$F$1:$F$9" 'Liste pour portable
End With
End If
End If
End Sub
--
Cordialement


"flang" a écrit dans le message de
news:
> Bonjour,
>
> Je suis en train de faire un fichier stock informatique.
> J'ai deux colonnes B et C...
>
> La colonne B est à une liste déroulante sur les cases =$AB$7:$AB$8
> Sur la colonne C, je voudrais suivant le résultat de la colonne B, afin
> deux
> listes déroulantes différentes.
>
> En gros, ma colonne B, correspond à "portable" ou "fixe"; et je veux dans
> la
> colonne C mettre a liste de portable ou de fixe uniquement.
>
> Merci pour votre aide




Avatar
ChristianM
Bonjour,
Ne serait-ce pas avec des listes imbriquées ? Cela est très bien expliqué
sur ce site

http://boisgontierjacques.free.fr/pages_site/listes_cascade.htm
--
ChristianM
"flang" a écrit dans le message de news:

Bonjour,

Je suis en train de faire un fichier stock informatique.
J'ai deux colonnes B et C...

La colonne B est à une liste déroulante sur les cases =$AB$7:$AB$8
Sur la colonne C, je voudrais suivant le résultat de la colonne B, afin
deux
listes déroulantes différentes.

En gros, ma colonne B, correspond à "portable" ou "fixe"; et je veux dans
la
colonne C mettre a liste de portable ou de fixe uniquement.

Merci pour votre aide


Avatar
Fuentes Mickael
Bonjour,
je vais essayer de t'aider au mieux mais c'est pas evident à expliquer.
imaginons que l'on travaille une liste en B1 et C1, ou C1 dépend du choix de
B1.

Pour ta liste B1, tu as bien fait une liste deroulante contenant AB7 et AB8,
jusque la pas de probleme.
Maintenant si tu veux que ta liste en C1 depende de ton choix en B, il faut
que tu nommes la zone de choix en la selectionnant, tu l'appelles pcfixe,
puis la 2eme tu l'apelles pcportable.
dans ta liste deroulante en C tu inscris : =INDIRECT("pc"&$A$1)
et ta liste deviens dependante de ton choix en B1.
Si tu veux un fichier en exemple donne moi ton mail.

Voilà, bon courage.
Micky


"flang" a écrit dans le message de
news:
Bonjour,

Je suis en train de faire un fichier stock informatique.
J'ai deux colonnes B et C...

La colonne B est à une liste déroulante sur les cases =$AB$7:$AB$8
Sur la colonne C, je voudrais suivant le résultat de la colonne B, afin


deux
listes déroulantes différentes.

En gros, ma colonne B, correspond à "portable" ou "fixe"; et je veux dans


la
colonne C mettre a liste de portable ou de fixe uniquement.

Merci pour votre aide


Avatar
JPMonnier
Pour insérer la proc dans VBA,
Alt+F11
sélectionne la feuille que tu veux (ou se trouvent tes listes)
et colle la procédure
--
Cordialement

"JPMonnier" a écrit dans le message de
news:
Bonjour,
copie cette proc dans VBA feuilx
modifie les adresses à ta convenance

Private Sub Worksheet_Change(ByVal Target As Range)
If Target = [$B$7] Then 'cellule avec liste de choix PC, PORT
If [b7] = "PC" Then
With [c7].Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=
_
xlBetween, Formula1:="=$E$1:$E$9" 'Liste pour PC
End With
Else
With [c7].Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=
_
xlBetween, Formula1:="=$F$1:$F$9" 'Liste pour portable
End With
End If
End If
End Sub
--
Cordialement


"flang" a écrit dans le message de
news:
Bonjour,

Je suis en train de faire un fichier stock informatique.
J'ai deux colonnes B et C...

La colonne B est à une liste déroulante sur les cases =$AB$7:$AB$8
Sur la colonne C, je voudrais suivant le résultat de la colonne B, afin
deux
listes déroulantes différentes.

En gros, ma colonne B, correspond à "portable" ou "fixe"; et je veux dans
la
colonne C mettre a liste de portable ou de fixe uniquement.

Merci pour votre aide





Avatar
flang
Mail envoyé

"Fuentes Mickael" wrote:

Bonjour,
je vais essayer de t'aider au mieux mais c'est pas evident à expliquer.
imaginons que l'on travaille une liste en B1 et C1, ou C1 dépend du choix de
B1.

Pour ta liste B1, tu as bien fait une liste deroulante contenant AB7 et AB8,
jusque la pas de probleme.
Maintenant si tu veux que ta liste en C1 depende de ton choix en B, il faut
que tu nommes la zone de choix en la selectionnant, tu l'appelles pcfixe,
puis la 2eme tu l'apelles pcportable.
dans ta liste deroulante en C tu inscris : =INDIRECT("pc"&$A$1)
et ta liste deviens dependante de ton choix en B1.
Si tu veux un fichier en exemple donne moi ton mail.

Voilà, bon courage.
Micky


"flang" a écrit dans le message de
news:
> Bonjour,
>
> Je suis en train de faire un fichier stock informatique.
> J'ai deux colonnes B et C...
>
> La colonne B est à une liste déroulante sur les cases =$AB$7:$AB$8
> Sur la colonne C, je voudrais suivant le résultat de la colonne B, afin
deux
> listes déroulantes différentes.
>
> En gros, ma colonne B, correspond à "portable" ou "fixe"; et je veux dans
la
> colonne C mettre a liste de portable ou de fixe uniquement.
>
> Merci pour votre aide





Avatar
benoit
Bonjour,
je m'immisce dans cette conversation
car j'utilise ce genre de macro & je bloque sur un petit probléme:
en effet, ma liste de choix se trouve dans une autre feuille que mon menu
déroulante:
je n'arrive pas à trouver l'instruction correcte de la feuiile à associer à
la colonne de mon menu déroulant.

merci d'avance pour une éventuelle solution

benoit


"flang" a écrit dans le message de news:

Mail envoyé

"Fuentes Mickael" wrote:

Bonjour,
je vais essayer de t'aider au mieux mais c'est pas evident à expliquer.
imaginons que l'on travaille une liste en B1 et C1, ou C1 dépend du choix
de
B1.

Pour ta liste B1, tu as bien fait une liste deroulante contenant AB7 et
AB8,
jusque la pas de probleme.
Maintenant si tu veux que ta liste en C1 depende de ton choix en B, il
faut
que tu nommes la zone de choix en la selectionnant, tu l'appelles pcfixe,
puis la 2eme tu l'apelles pcportable.
dans ta liste deroulante en C tu inscris : =INDIRECT("pc"&$A$1)
et ta liste deviens dependante de ton choix en B1.
Si tu veux un fichier en exemple donne moi ton mail.

Voilà, bon courage.
Micky


"flang" a écrit dans le message de
news:
> Bonjour,
>
> Je suis en train de faire un fichier stock informatique.
> J'ai deux colonnes B et C...
>
> La colonne B est à une liste déroulante sur les cases =$AB$7:$AB$8
> Sur la colonne C, je voudrais suivant le résultat de la colonne B, afin
deux
> listes déroulantes différentes.
>
> En gros, ma colonne B, correspond à "portable" ou "fixe"; et je veux
> dans
la
> colonne C mettre a liste de portable ou de fixe uniquement.
>
> Merci pour votre aide







Avatar
JPMonnier
Bonsoir,
si ta liste de choix est sur une autre feuille,
dans source, tu dois mettre =Taliste
--
Cordialement

"benoit" a écrit dans le message de
news:
Bonjour,
je m'immisce dans cette conversation
car j'utilise ce genre de macro & je bloque sur un petit probléme:
en effet, ma liste de choix se trouve dans une autre feuille que mon menu
déroulante:
je n'arrive pas à trouver l'instruction correcte de la feuiile à associer
à la colonne de mon menu déroulant.

merci d'avance pour une éventuelle solution

benoit


"flang" a écrit dans le message de news:

Mail envoyé

"Fuentes Mickael" wrote:

Bonjour,
je vais essayer de t'aider au mieux mais c'est pas evident à expliquer.
imaginons que l'on travaille une liste en B1 et C1, ou C1 dépend du
choix de
B1.

Pour ta liste B1, tu as bien fait une liste deroulante contenant AB7 et
AB8,
jusque la pas de probleme.
Maintenant si tu veux que ta liste en C1 depende de ton choix en B, il
faut
que tu nommes la zone de choix en la selectionnant, tu l'appelles
pcfixe,
puis la 2eme tu l'apelles pcportable.
dans ta liste deroulante en C tu inscris : =INDIRECT("pc"&$A$1)
et ta liste deviens dependante de ton choix en B1.
Si tu veux un fichier en exemple donne moi ton mail.

Voilà, bon courage.
Micky


"flang" a écrit dans le message de
news:
> Bonjour,
>
> Je suis en train de faire un fichier stock informatique.
> J'ai deux colonnes B et C...
>
> La colonne B est à une liste déroulante sur les cases =$AB$7:$AB$8
> Sur la colonne C, je voudrais suivant le résultat de la colonne B,
> afin
deux
> listes déroulantes différentes.
>
> En gros, ma colonne B, correspond à "portable" ou "fixe"; et je veux
> dans
la
> colonne C mettre a liste de portable ou de fixe uniquement.
>
> Merci pour votre aide











Avatar
benoit
merci pour la réponse
mais je bloque
ma liste est sur la feuille "Parametres" en A2-A30
comment s'écrit l'intruction ?

----------------------------------------------------------------------------------
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator: _
xlBetween, Formula1:= ???????????????????????????????
----------------------------------------------------------------------------------

merci

"JPMonnier" a écrit dans le message de news:

Bonsoir,
si ta liste de choix est sur une autre feuille,
dans source, tu dois mettre =Taliste
--
Cordialement

"benoit" a écrit dans le message de
news:
Bonjour,
je m'immisce dans cette conversation
car j'utilise ce genre de macro & je bloque sur un petit probléme:
en effet, ma liste de choix se trouve dans une autre feuille que mon menu
déroulante:
je n'arrive pas à trouver l'instruction correcte de la feuiile à associer
à la colonne de mon menu déroulant.

merci d'avance pour une éventuelle solution

benoit


"flang" a écrit dans le message de
news:
Mail envoyé

"Fuentes Mickael" wrote:

Bonjour,
je vais essayer de t'aider au mieux mais c'est pas evident à expliquer.
imaginons que l'on travaille une liste en B1 et C1, ou C1 dépend du
choix de
B1.

Pour ta liste B1, tu as bien fait une liste deroulante contenant AB7 et
AB8,
jusque la pas de probleme.
Maintenant si tu veux que ta liste en C1 depende de ton choix en B, il
faut
que tu nommes la zone de choix en la selectionnant, tu l'appelles
pcfixe,
puis la 2eme tu l'apelles pcportable.
dans ta liste deroulante en C tu inscris : =INDIRECT("pc"&$A$1)
et ta liste deviens dependante de ton choix en B1.
Si tu veux un fichier en exemple donne moi ton mail.

Voilà, bon courage.
Micky


"flang" a écrit dans le message de
news:
> Bonjour,
>
> Je suis en train de faire un fichier stock informatique.
> J'ai deux colonnes B et C...
>
> La colonne B est à une liste déroulante sur les cases =$AB$7:$AB$8
> Sur la colonne C, je voudrais suivant le résultat de la colonne B,
> afin
deux
> listes déroulantes différentes.
>
> En gros, ma colonne B, correspond à "portable" ou "fixe"; et je veux
> dans
la
> colonne C mettre a liste de portable ou de fixe uniquement.
>
> Merci pour votre aide














Avatar
JPMonnier
Il faut nommer ta liste
--
Cordialement

"benoit" a écrit dans le message de
news:
merci pour la réponse
mais je bloque
ma liste est sur la feuille "Parametres" en A2-A30
comment s'écrit l'intruction ?

----------------------------------------------------------------------------------
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator: > _
xlBetween, Formula1:= ???????????????????????????????
----------------------------------------------------------------------------------

merci

"JPMonnier" a écrit dans le message de news:

Bonsoir,
si ta liste de choix est sur une autre feuille,
dans source, tu dois mettre =Taliste
--
Cordialement

"benoit" a écrit dans le message de
news:
Bonjour,
je m'immisce dans cette conversation
car j'utilise ce genre de macro & je bloque sur un petit probléme:
en effet, ma liste de choix se trouve dans une autre feuille que mon
menu déroulante:
je n'arrive pas à trouver l'instruction correcte de la feuiile à
associer à la colonne de mon menu déroulant.

merci d'avance pour une éventuelle solution

benoit


"flang" a écrit dans le message de
news:
Mail envoyé

"Fuentes Mickael" wrote:

Bonjour,
je vais essayer de t'aider au mieux mais c'est pas evident à
expliquer.
imaginons que l'on travaille une liste en B1 et C1, ou C1 dépend du
choix de
B1.

Pour ta liste B1, tu as bien fait une liste deroulante contenant AB7
et AB8,
jusque la pas de probleme.
Maintenant si tu veux que ta liste en C1 depende de ton choix en B,
il faut
que tu nommes la zone de choix en la selectionnant, tu l'appelles
pcfixe,
puis la 2eme tu l'apelles pcportable.
dans ta liste deroulante en C tu inscris : =INDIRECT("pc"&$A$1)
et ta liste deviens dependante de ton choix en B1.
Si tu veux un fichier en exemple donne moi ton mail.

Voilà, bon courage.
Micky


"flang" a écrit dans le message de
news:
> Bonjour,
>
> Je suis en train de faire un fichier stock informatique.
> J'ai deux colonnes B et C...
>
> La colonne B est à une liste déroulante sur les cases =$AB$7:$AB$8
> Sur la colonne C, je voudrais suivant le résultat de la colonne B,
> afin
deux
> listes déroulantes différentes.
>
> En gros, ma colonne B, correspond à "portable" ou "fixe"; et je veux
> dans
la
> colonne C mettre a liste de portable ou de fixe uniquement.
>
> Merci pour votre aide


















1 2