Si la question a déjà été posée, merci de ne pas vous énerver.
Soit une liste déroulante dont on affiche le nom "a".
J'aimerais qu'en appuyant sur "enter", on passe à un autre nom bien précis.
Puis qu'en appuyant de nouveau sur "enter", de nouveau on passe à un autre nom. Etc.
Mais Excel refuse le if sendkeys "{enter}" then ...
Le programme affiche Pascal au départ.
Si je fais "enter", il affiche Marc (et pas le nom suivant, mais un nom précis).
Puis si je fais "enter" après qu'il ait affiché Marc, il passe par exemple à Jacqueline ...
Ne sachant pas quelle logique détermine le passage d'un prénom à un autre, je ne peux que te proposer le code suivant :
Code:
Private Sub Combobox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
If ComboBox1.Text = "Pascal" Then
ComboBox1.Text = "Marc"
Else
If ComboBox1.Text = "Marc" Then
ComboBox1.Text = "Jacqueline"
Else
'............
End If
End If
End If
End Sub
Tu veux parler de listbox, combobox ou de liste de validation ?
Le programme affiche Pascal au départ.
Si je fais "enter", il affiche Marc (et pas le nom suivant, mais un nom précis).
Puis si je fais "enter" après qu'il ait affiché Marc, il passe par exemple à Jacqueline ...
Private Sub Combobox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then ComboBox1.ListIndex = IIf(ComboBox1.ListIndex = ComboBox1.ListCount - 1, 0, ComboBox1.ListIndex + 1)
End Sub