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

Liste déroulante en cascade

5 réponses
Avatar
Greg
Bonjour,

Je suis aller sur le site de JB afin de créer des listes en cascade. La
feuille qui correspond est DV_cascade. Seul problème, je ne comprends pas
tout... Je sais créer une liste déroulante. Mais là, je dois

Nommer les champs:
choix1:=DECALER($F$1;;;;NBVAL($F$1:$Z$1))
choix2:=$F:$F

pour le choix 2, je sais faire: je sélectionne la colonne F, puis je la
nomme dans l'encadré à gauche. Mais pour le choix 1, je ne vois vraiment pas
ce que je dois faire...

Pourriez-vous me guider?


Ensuite, je lis ceci dans un encadré plus bas:

MFC pour signaler mauvais choix dans Choix2
=ESTNA(EQUIV(C2;DECALER(Choix2;1;EQUIV(B2;Choix1;0)-1;NBVAL(DECALER(Choix2;;EQUIV(B2;Choix1;0)-1))-1);0))

Positionnement sur le premier élément
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$2" And Target.Count = 1 And Target <> "" Then
Target.Offset(0, 1) = Sheets("listes").Range("choix2")(1).Offset(1,
Application.Match(Target, [choix1], 0) - 1)
End If
End Sub


Je dois donc créer des macros en plus... je suis perdu!

Merci de m'aider.

Greg

5 réponses

Avatar
Philippe.R
Bonjour,

Sur les versions antérieures à 2007, pour créer un nom, tu peux aussi passer
par Menu/Insertion/Nom/Définir

Pour la macro, il te suffit de cliquer droit sur l'onglet de la feuille
considérée et de choisir "visualiser le code" (ce qui a pour effet d'ouvrir
l'éditeur sur le bon module), puis de coller l'ensemble du texte qui va de
"Private" à "End Sub" dans la grande fenêtre de droite de l'éditeur de code.
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/web/mpfe
News://news.microsoft.com/microsoft.public.fr.excel
"Greg" a écrit dans le message de
news:
Bonjour,

Je suis aller sur le site de JB afin de créer des listes en cascade. La
feuille qui correspond est DV_cascade. Seul problème, je ne comprends pas
tout... Je sais créer une liste déroulante. Mais là, je dois

Nommer les champs:
choix1:ÞCALER($F$1;;;;NBVAL($F$1:$Z$1))
choix2:=$F:$F

pour le choix 2, je sais faire: je sélectionne la colonne F, puis je la
nomme dans l'encadré à gauche. Mais pour le choix 1, je ne vois vraiment
pas ce que je dois faire...

Pourriez-vous me guider?


Ensuite, je lis ceci dans un encadré plus bas:

MFC pour signaler mauvais choix dans Choix2
=ESTNA(EQUIV(C2;DECALER(Choix2;1;EQUIV(B2;Choix1;0)-1;NBVAL(DECALER(Choix2;;EQUIV(B2;Choix1;0)-1))-1);0))

Positionnement sur le premier élément
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$2" And Target.Count = 1 And Target <> "" Then
Target.Offset(0, 1) = Sheets("listes").Range("choix2")(1).Offset(1,
Application.Match(Target, [choix1], 0) - 1)
End If
End Sub


Je dois donc créer des macros en plus... je suis perdu!

Merci de m'aider.

Greg







Avatar
Greg
Bonjour et merci Philippe,

Malheureusement, je ne suis pas plus avancé. J'ai excel 2007 et je ne sais
vraiment pas comment faire pour nommer ce fameux "choix1"...


Quant à la macro, est-ce une option de l'utiliser (et dans ce cas, elle
remplacerait l'autre démarche) ou est-ce le complément indispensable au
fonctionnement de la liste en cascade?

Merci et à plus

Greg

"Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de
news:
Bonjour,

Sur les versions antérieures à 2007, pour créer un nom, tu peux aussi
passer par Menu/Insertion/Nom/Définir

Pour la macro, il te suffit de cliquer droit sur l'onglet de la feuille
considérée et de choisir "visualiser le code" (ce qui a pour effet
d'ouvrir l'éditeur sur le bon module), puis de coller l'ensemble du texte
qui va de "Private" à "End Sub" dans la grande fenêtre de droite de
l'éditeur de code.
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/web/mpfe
News://news.microsoft.com/microsoft.public.fr.excel
"Greg" a écrit dans le message de
news:
Bonjour,

Je suis aller sur le site de JB afin de créer des listes en cascade. La
feuille qui correspond est DV_cascade. Seul problème, je ne comprends pas
tout... Je sais créer une liste déroulante. Mais là, je dois

Nommer les champs:
choix1:ÞCALER($F$1;;;;NBVAL($F$1:$Z$1))
choix2:=$F:$F

pour le choix 2, je sais faire: je sélectionne la colonne F, puis je la
nomme dans l'encadré à gauche. Mais pour le choix 1, je ne vois vraiment
pas ce que je dois faire...

Pourriez-vous me guider?


Ensuite, je lis ceci dans un encadré plus bas:

MFC pour signaler mauvais choix dans Choix2
=ESTNA(EQUIV(C2;DECALER(Choix2;1;EQUIV(B2;Choix1;0)-1;NBVAL(DECALER(Choix2;;EQUIV(B2;Choix1;0)-1))-1);0))

Positionnement sur le premier élément
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$2" And Target.Count = 1 And Target <> "" Then
Target.Offset(0, 1) = Sheets("listes").Range("choix2")(1).Offset(1,
Application.Match(Target, [choix1], 0) - 1)
End If
End Sub


Je dois donc créer des macros en plus... je suis perdu!

Merci de m'aider.

Greg










Avatar
Corona
Bonjour Greg,
Je ne sais pas quelle type de liste en cascade tu cherches ni si tu
as besoin absolument du VBA.
J'ai fait un fichier qui utilise d'une façon dynamique deux listes
avec validation de données en utilisant uniquement les fonctions d'Excel
et qui détourne le problème de de l'incompatibilité de INDIRECT combiné
avec DECALER.
Tu trouveras ce fichier ici http://cjoint.com/?kmqLfkfScg
Philippe Tulliez
Greg a écrit :
Bonjour,

Je suis aller sur le site de JB afin de créer des listes en cascade. La
feuille qui correspond est DV_cascade. Seul problème, je ne comprends
pas tout... Je sais créer une liste déroulante. Mais là, je dois

Nommer les champs:
choix1:ÞCALER($F$1;;;;NBVAL($F$1:$Z$1))
choix2:=$F:$F

pour le choix 2, je sais faire: je sélectionne la colonne F, puis je la
nomme dans l'encadré à gauche. Mais pour le choix 1, je ne vois vraiment
pas ce que je dois faire...

Pourriez-vous me guider?


Ensuite, je lis ceci dans un encadré plus bas:

MFC pour signaler mauvais choix dans Choix2
=ESTNA(EQUIV(C2;DECALER(Choix2;1;EQUIV(B2;Choix1;0)-1;NBVAL(DECALER(Choix2;;EQUIV(B2;Choix1;0)-1))-1);0))


Positionnement sur le premier élément
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$2" And Target.Count = 1 And Target <> "" Then
Target.Offset(0, 1) = Sheets("listes").Range("choix2")(1).Offset(1,
Application.Match(Target, [choix1], 0) - 1)
End If
End Sub


Je dois donc créer des macros en plus... je suis perdu!

Merci de m'aider.

Greg







Avatar
Philippe.R
Re,
La macro à priori le complément nécessaire pour obtenir le positionnement
sur le 1er item
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/web/mpfe
News://news.microsoft.com/microsoft.public.fr.excel
"Greg" a écrit dans le message de
news:
Bonjour et merci Philippe,

Malheureusement, je ne suis pas plus avancé. J'ai excel 2007 et je ne sais
vraiment pas comment faire pour nommer ce fameux "choix1"...


Quant à la macro, est-ce une option de l'utiliser (et dans ce cas, elle
remplacerait l'autre démarche) ou est-ce le complément indispensable au
fonctionnement de la liste en cascade?

Merci et à plus

Greg

"Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de
news:
Bonjour,

Sur les versions antérieures à 2007, pour créer un nom, tu peux aussi
passer par Menu/Insertion/Nom/Définir

Pour la macro, il te suffit de cliquer droit sur l'onglet de la feuille
considérée et de choisir "visualiser le code" (ce qui a pour effet
d'ouvrir l'éditeur sur le bon module), puis de coller l'ensemble du texte
qui va de "Private" à "End Sub" dans la grande fenêtre de droite de
l'éditeur de code.
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/web/mpfe
News://news.microsoft.com/microsoft.public.fr.excel
"Greg" a écrit dans le message de
news:
Bonjour,

Je suis aller sur le site de JB afin de créer des listes en cascade. La
feuille qui correspond est DV_cascade. Seul problème, je ne comprends
pas tout... Je sais créer une liste déroulante. Mais là, je dois

Nommer les champs:
choix1:ÞCALER($F$1;;;;NBVAL($F$1:$Z$1))
choix2:=$F:$F

pour le choix 2, je sais faire: je sélectionne la colonne F, puis je la
nomme dans l'encadré à gauche. Mais pour le choix 1, je ne vois vraiment
pas ce que je dois faire...

Pourriez-vous me guider?


Ensuite, je lis ceci dans un encadré plus bas:

MFC pour signaler mauvais choix dans Choix2
=ESTNA(EQUIV(C2;DECALER(Choix2;1;EQUIV(B2;Choix1;0)-1;NBVAL(DECALER(Choix2;;EQUIV(B2;Choix1;0)-1))-1);0))

Positionnement sur le premier élément
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$2" And Target.Count = 1 And Target <> "" Then
Target.Offset(0, 1) = Sheets("listes").Range("choix2")(1).Offset(1,
Application.Match(Target, [choix1], 0) - 1)
End If
End Sub


Je dois donc créer des macros en plus... je suis perdu!

Merci de m'aider.

Greg













Avatar
Greg
Bonjour,

Je vous remercie, ça fonctionne désormais!

Greg

"Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de
news:
Re,
La macro à priori le complément nécessaire pour obtenir le positionnement
sur le 1er item
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/web/mpfe
News://news.microsoft.com/microsoft.public.fr.excel
"Greg" a écrit dans le message de
news:
Bonjour et merci Philippe,

Malheureusement, je ne suis pas plus avancé. J'ai excel 2007 et je ne
sais vraiment pas comment faire pour nommer ce fameux "choix1"...


Quant à la macro, est-ce une option de l'utiliser (et dans ce cas, elle
remplacerait l'autre démarche) ou est-ce le complément indispensable au
fonctionnement de la liste en cascade?

Merci et à plus

Greg

"Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de
news:
Bonjour,

Sur les versions antérieures à 2007, pour créer un nom, tu peux aussi
passer par Menu/Insertion/Nom/Définir

Pour la macro, il te suffit de cliquer droit sur l'onglet de la feuille
considérée et de choisir "visualiser le code" (ce qui a pour effet
d'ouvrir l'éditeur sur le bon module), puis de coller l'ensemble du
texte qui va de "Private" à "End Sub" dans la grande fenêtre de droite
de l'éditeur de code.
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/web/mpfe
News://news.microsoft.com/microsoft.public.fr.excel
"Greg" a écrit dans le message de
news:
Bonjour,

Je suis aller sur le site de JB afin de créer des listes en cascade. La
feuille qui correspond est DV_cascade. Seul problème, je ne comprends
pas tout... Je sais créer une liste déroulante. Mais là, je dois

Nommer les champs:
choix1:ÞCALER($F$1;;;;NBVAL($F$1:$Z$1))
choix2:=$F:$F

pour le choix 2, je sais faire: je sélectionne la colonne F, puis je la
nomme dans l'encadré à gauche. Mais pour le choix 1, je ne vois
vraiment pas ce que je dois faire...

Pourriez-vous me guider?


Ensuite, je lis ceci dans un encadré plus bas:

MFC pour signaler mauvais choix dans Choix2
=ESTNA(EQUIV(C2;DECALER(Choix2;1;EQUIV(B2;Choix1;0)-1;NBVAL(DECALER(Choix2;;EQUIV(B2;Choix1;0)-1))-1);0))

Positionnement sur le premier élément
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$2" And Target.Count = 1 And Target <> "" Then
Target.Offset(0, 1) = Sheets("listes").Range("choix2")(1).Offset(1,
Application.Match(Target, [choix1], 0) - 1)
End If
End Sub


Je dois donc créer des macros en plus... je suis perdu!

Merci de m'aider.

Greg