Bonjour,
sur le même principe que ma réponse sur ton autre discussion:
une liste de validation, pour l'exemple cellule E6 de la Feuil1, une sélection dans la liste ouvre le userform:
le code pour détecter le changement de valeur sélectionnée dans la liste à mettre dans la partie code de la sheets:
1 2 3 4 5
| Private Sub Worksheet_Change(ByVal target As Range)
If target.Address = [E6].Address And [E6].Value <> "" Then
UserForm1.Show
End If
End Sub |
code de l'userform1:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| Private Sub UserForm_Initialize()
Dim NumEquip As String, i As Integer, fin As Integer
Me.Label1.Caption = ""
With Sheets("Feuil1")
NumEquip = .Range("E6").Value
fin = .Range("E" & Rows.Count).End(xlUp).Row
If .Range("E6") <> "" Then
Me.Label1.Caption = NumEquip
For i = 10 To fin
If .Range("E" & i).Value = NumEquip Then
Me.ComboBox1.AddItem (.Range("E" & i).Offset(0, 1).Value)
End If
Next i
Else: Exit Sub
End If
End With
End Sub |
donc ici à chaque fois qu'on va faire un choix dans la liste de validation l'userform va s'ouvrir et afficher dans le combo les items correspondants.
c'est bien sûr un exemple à adapter à ton cas.
Partager