Bonjour,
Après avoir trouver le code d'une liste déroulante interactive ( qui s'affiche que dans les case voulu )
J'ai un problème, je n'arrive pas a définir ma deuxième condition :
Ma premiere condition est la localisation :
If ActiveCell.Column = 28 And (ActiveCell.Row >= 40 And ActiveCell.Row <= 50) Then
Jusque là ça va, mais je veux ensuite la faire apparaitre QUE si il y a un "Yes" dans la colonne qui le precède.
(Bref visuel du code de ma liste) :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveCell.Column = 28 And (ActiveCell.Row >= 40 And ActiveCell.Row <= 50) Then
---> l'autre condition ici :)
With Me.ListBox1
.MultiSelect = fmMultiSelectMulti
.ListStyle = fmListStyleOption
.Height = 200
.Width = 150
.Top = ActiveCell.Top
.Left = ActiveCell.Offset(0, 1).Left
.Visible = True
End With
On Error Resume Next
i = Application.WorksheetFunction.Match(Cells(ActiveCell.Row, 28), Worksheets("DB").Range("$X$16:$AE$34"), 0) - 1
'i = 0
If Worksheets("DB").Range("X16").Offset(0, i).End(xlDown).Row = 2 Then
Me.ListBox1.List = Array(Worksheets("DB").Range(Worksheets("DB").Range("X16").Offset(1, i), _
Worksheets("Donnée").Range("A1").Offset(0, i).End(xlDown)).Value, "")
Else
Me.ListBox1.List = Worksheets("DB").Range(Worksheets("DB").Range("X16").Offset(1, i), _
Worksheets("DB").Range("X16").Offset(0, i).End(xlDown)).Value
End If
On Error GoTo 0
a = VBA.Split(ActiveCell, "-")
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
Merci d'avance !!