Si "enter", alors, afficher nom untel ...

herve80

XLDnaute Occasionnel
Bonjour,

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 ...

Si vous pouviez m'aider, s'il vous plait ...
 

herve80

XLDnaute Occasionnel
Re : Si "enter", alors, afficher nom untel ...

Je réexplique.

On a une liste de noms.

ex : Pascal
Eric
Marc
Hervé
Stéphane
Jacqueline

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 ...
 

GeoTrouvePas

XLDnaute Impliqué
Re : Si "enter", alors, afficher nom untel ...

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
 

GeoTrouvePas

XLDnaute Impliqué
Re : Si "enter", alors, afficher nom untel ...

Bon, c'est pas encore ça.

Ben vu le peu d'informations que tu donnes, je risque pas de faire mieux que ça.

Soit une liste déroulante
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 ...

Y a t il une logique dans cette succession de prénom ? As tu besoin de paramétrer l'ordre en amont ?

La qualité de la réponse est en fonction de la qualité de question. Donc sans précision de ta part, impossible de faire mieux.
 

Habitude

XLDnaute Accro
Re : Si "enter", alors, afficher nom untel ...

Peut-être

Code:
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
 

Discussions similaires

Réponses
5
Affichages
412
Réponses
2
Affichages
664

Statistiques des forums

Discussions
312 231
Messages
2 086 457
Membres
103 219
dernier inscrit
Akyrah