J' ai deux colonnes A et B. Je voudrais créer un menu déroulant qui dans un
premier temps me restreigne à un choix dans la liste A. Puis ce choix
effectué, je souhaiterais voir apparaître une deuxieme liste provenant de B
dont le choix est restreint par mon premier choix.
Exemple je choisis boulangerie en A (au lieu de Boucherie) et alors je vois
apparaitre ce qui se vend dans la boulangerie pour effectuer mon choix. Une
sorte de liste en cascade....
Ma base de données aurait la forme suivante
A B
Boulangerie pain
Boucherie baguette
bonbons
viande
jambon
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Vincnet.
Bonjour, Bon, j'ai fait un truc comme ça il y a pas longtemps, mais c'est un peu chaud à expliquer par mail... Tu n'as pas une adresse où je pourrai t'envoyer le fichier ? A+ V.
Bonjour,
Bon, j'ai fait un truc comme ça il y a pas longtemps, mais
c'est un peu chaud à expliquer par mail... Tu n'as pas une
adresse où je pourrai t'envoyer le fichier ?
A+
V.
Bonjour, Bon, j'ai fait un truc comme ça il y a pas longtemps, mais c'est un peu chaud à expliquer par mail... Tu n'as pas une adresse où je pourrai t'envoyer le fichier ? A+ V.
Daniel
Bonsoir. Voila comment j'ai organisé ma feuille : Colonne A : les commerces à saisir par liste de validation classique. Colonne B : denrées à saisir par liste de validation dynamique. de C1 à n1 : liste des commerces en dessous de chaque commerce, les denrées vendues par exemple : C1 : Boulangerie, C2 : pain, C3 : baguette Macro à mettre dans thisworkbook :
Private Sub Workbook_Open() Plage = "=$C$2" Columns("B:B").Select With Selection.Validation .Delete .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, _ Formula1:=Plage .IgnoreBlank = True .InCellDropdown = True .ShowInput = True .ShowError = True End With End Sub
Macro à mettre dans la feuille :
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim Commerce As String, Deplacement As String, Cellule As Range If Intersect(Target, Range("B:B")) Is Nothing Then Exit Sub Application.EnableEvents = False Set Cellule = Target Commerce = Target.Offset(0, -1).Value Deplacement = Application.Match(Commerce, Range("C1", Range("C1").End(xlToRight)), 0) Range("C1").Offset(1, Deplacement - 1).Select Plage = "=" & Range(Selection, Selection.End(xlDown)).Address Columns("B:B").Select With Selection.Validation .Delete .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, _ Formula1:=Plage .IgnoreBlank = True .InCellDropdown = True .ShowInput = True .ShowError = True End With Cellule.Select Application.EnableEvents = True
End Sub
Cordialement. Daniel
"marco" a écrit dans le message de news:
J' ai deux colonnes A et B. Je voudrais créer un menu déroulant qui dans un premier temps me restreigne à un choix dans la liste A. Puis ce choix effectué, je souhaiterais voir apparaître une deuxieme liste provenant de B dont le choix est restreint par mon premier choix. Exemple je choisis boulangerie en A (au lieu de Boucherie) et alors je vois apparaitre ce qui se vend dans la boulangerie pour effectuer mon choix. Une sorte de liste en cascade.... Ma base de données aurait la forme suivante A B Boulangerie pain Boucherie baguette bonbons viande jambon
Merci d'avance
Bonsoir.
Voila comment j'ai organisé ma feuille :
Colonne A : les commerces à saisir par liste de validation classique.
Colonne B : denrées à saisir par liste de validation dynamique.
de C1 à n1 : liste des commerces
en dessous de chaque commerce, les denrées vendues par exemple :
C1 : Boulangerie, C2 : pain, C3 : baguette
Macro à mettre dans thisworkbook :
Private Sub Workbook_Open()
Plage = "=$C$2"
Columns("B:B").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop,
Operator:=xlBetween, _
Formula1:=Plage
.IgnoreBlank = True
.InCellDropdown = True
.ShowInput = True
.ShowError = True
End With
End Sub
Macro à mettre dans la feuille :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Commerce As String, Deplacement As String, Cellule As Range
If Intersect(Target, Range("B:B")) Is Nothing Then Exit Sub
Application.EnableEvents = False
Set Cellule = Target
Commerce = Target.Offset(0, -1).Value
Deplacement = Application.Match(Commerce, Range("C1",
Range("C1").End(xlToRight)), 0)
Range("C1").Offset(1, Deplacement - 1).Select
Plage = "=" & Range(Selection, Selection.End(xlDown)).Address
Columns("B:B").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop,
Operator:=xlBetween, _
Formula1:=Plage
.IgnoreBlank = True
.InCellDropdown = True
.ShowInput = True
.ShowError = True
End With
Cellule.Select
Application.EnableEvents = True
End Sub
Cordialement.
Daniel
"marco" <marco@discussions.microsoft.com> a écrit dans le message de news:
2E6AF3BD-6011-45E0-9DCB-0AE0FDC4D1CD@microsoft.com...
J' ai deux colonnes A et B. Je voudrais créer un menu déroulant qui dans
un
premier temps me restreigne à un choix dans la liste A. Puis ce choix
effectué, je souhaiterais voir apparaître une deuxieme liste provenant de
B
dont le choix est restreint par mon premier choix.
Exemple je choisis boulangerie en A (au lieu de Boucherie) et alors je
vois
apparaitre ce qui se vend dans la boulangerie pour effectuer mon choix.
Une
sorte de liste en cascade....
Ma base de données aurait la forme suivante
A B
Boulangerie pain
Boucherie baguette
bonbons
viande
jambon
Bonsoir. Voila comment j'ai organisé ma feuille : Colonne A : les commerces à saisir par liste de validation classique. Colonne B : denrées à saisir par liste de validation dynamique. de C1 à n1 : liste des commerces en dessous de chaque commerce, les denrées vendues par exemple : C1 : Boulangerie, C2 : pain, C3 : baguette Macro à mettre dans thisworkbook :
Private Sub Workbook_Open() Plage = "=$C$2" Columns("B:B").Select With Selection.Validation .Delete .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, _ Formula1:=Plage .IgnoreBlank = True .InCellDropdown = True .ShowInput = True .ShowError = True End With End Sub
Macro à mettre dans la feuille :
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim Commerce As String, Deplacement As String, Cellule As Range If Intersect(Target, Range("B:B")) Is Nothing Then Exit Sub Application.EnableEvents = False Set Cellule = Target Commerce = Target.Offset(0, -1).Value Deplacement = Application.Match(Commerce, Range("C1", Range("C1").End(xlToRight)), 0) Range("C1").Offset(1, Deplacement - 1).Select Plage = "=" & Range(Selection, Selection.End(xlDown)).Address Columns("B:B").Select With Selection.Validation .Delete .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, _ Formula1:=Plage .IgnoreBlank = True .InCellDropdown = True .ShowInput = True .ShowError = True End With Cellule.Select Application.EnableEvents = True
End Sub
Cordialement. Daniel
"marco" a écrit dans le message de news:
J' ai deux colonnes A et B. Je voudrais créer un menu déroulant qui dans un premier temps me restreigne à un choix dans la liste A. Puis ce choix effectué, je souhaiterais voir apparaître une deuxieme liste provenant de B dont le choix est restreint par mon premier choix. Exemple je choisis boulangerie en A (au lieu de Boucherie) et alors je vois apparaitre ce qui se vend dans la boulangerie pour effectuer mon choix. Une sorte de liste en cascade.... Ma base de données aurait la forme suivante A B Boulangerie pain Boucherie baguette bonbons viande jambon