Recherche valeur selon sélection liste déroulante
Bonjour à tous,
Je me retrouve bloqué sur l'avancement d'un de mes fichiers Excel.. Je m'explique :
Dans le cadre de ce que je veux faire, je veux mettre à disposition un outil qui permet à l'utilisateur de faire une sélection selon le cas dans lequel il se trouve.
Cas 1 : il a un seul choix de produit avec une valeur unique = pas de problème.
Cas 2 : il choisi plusieurs produits ...
J'ai fait une liste déroulante de sélection qui permet d'identifier les choix de l'utilisateur selon une plage de données définie. J'arrive à identifier ces choix dans une cellule, ils sont séparés par un "-". Ainsi je connais tout les choix que l'utilisateur fait.
Dim i As Long
Dim sTemp As String
Dim a
Dim bTest As Boolean
Private Sub ListBox1_Change()
If bTest Then
Exit Sub
End If
sTemp = ""
For i = 0 To Me.ListBox1.ListCount - 1
If Me.ListBox1.Selected(i) Then
sTemp = sTemp & Me.ListBox1.List(i) & "-"
End If
Next
sTemp = VBA.Left(sTemp, VBA.Len(sTemp) - 1)
ActiveCell.Offset(0, 1) = sTemp
End Sub
Private Sub ListBox2_Click()
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveCell.Column = 7 Then
If Not Cells(ActiveCell.Row, 7) = "Summenstrang" Then
Me.ListBox1.Visible = False
Exit Sub
End If
With Me.ListBox1
.MultiSelect = fmMultiSelectMulti
.ListStyle = fmListStyleOption
.Height = 250
.Width = 150
.Font.Size = 10
.Top = ActiveCell.Top
.Left = ActiveCell.Offset(0, -2).Left
.Visible = True
End With
Me.ListBox1.List = Worksheets("Einzugsfläche").Range(Worksheets("Einzugsfläche").Range("B4"), _
Worksheets("Einzugsfläche").Range("B4").End(xlDown)).Value
On Error GoTo 0
a = VBA.Split(ActiveCell.Offset(0, 1), "-")
If UBound(a) >= 0 Then
For i = 0 To Me.ListBox1.ListCount - 1
If Not IsError(Application.Match(Me.ListBox1.List(i), a, 0)) Then
bTest = True
Me.ListBox1.Selected(i) = True
bTest = False
End If
Next
End If
Else
Me.ListBox1.Visible = False
End If
End Sub
Premier soucis avec ces lignes de code, si l'utilisateur décide de tout désélectionner, je rencontre une erreur que je n'arrive pas à résoudre.
Deuxième soucis, si une valeur est présente dans la cellule que je souhaite renseigner avec l'identification des choix, une nouvelle apparaît.
Dans la continuité du choix fait par l'utilisateur, je souhaiterai faire une somme de valeurs associées à ce choix
Exemple : L'utilisateur choisi le produit A1 et B5. La valeur identifiée à A1 = 10 et B5 = 3. Je souhaiterai obtenir la valeur 13 dans une cellule..
Ainsi, je me pose la question comment identifier les valeurs associées aux choix de l'utilisateur et aussi comment procéder à somme..
Merci à vous pour vos retours,
Bonjour,
Est ce que tu pourrais joindre un fichier, ce serait plus simple pour comprendre comment fonctionne tes listbox et ce que tu souhaites faire avec les autres cellules