Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Ouvertures auto des listes dans Userform

5 réponses
Avatar
choko
Salut,

J'ai plusieurs listes dans mon userform et je souhaiterai qu'à l'évenement
"_change", la liste suivante s'ouvre, pour laisser apparaitre les valeurs
proposées, plutot qu'avoir juste le setfocus.

Merci

Choko

5 réponses

Avatar
CAP2
Salut,

C'est la méthode DropDown qu'il faut utiliser...

Sur chaque combobox, affectes ce code (en remplaçant les "combobox" par les
noms des tiens) :

Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)

ComboBox2.DropDown

End Sub

Ca marche ?

CAP2
Avatar
choko
oui cela marche avec _exit(). J'aurai préféré que cela marche avec
_change(), merci pour cette astuce

avec _change, j'ai un message d'erreur:

erreur automation
l'objet invoqué s'est déconnecté de ses clients
:(

Choko

"CAP2" a écrit dans le message de news:
Obz5U$
Salut,

C'est la méthode DropDown qu'il faut utiliser...

Sur chaque combobox, affectes ce code (en remplaçant les "combobox" par
les
noms des tiens) :

Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)

ComboBox2.DropDown

End Sub

Ca marche ?

CAP2




Avatar
CAP2
Salut,

rien ne t'empêche de coder une procédure évènementielle sur Change et une
autre sur Exit, donc tu peux utiliser Exit juste pour gérer "l'ouverture" de
tes combobox, et Change pour traiter autre chose...

CAP2
Avatar
michdenis
Bonjour Choko,

Combine ces 2 lignes de code dans une procédure "ComboBox2_Change


Me.ComboBox1.SetFocus
Me.ComboBox1.DropDown


Salutations!




"choko" a écrit dans le message de news:
oui cela marche avec _exit(). J'aurai préféré que cela marche avec
_change(), merci pour cette astuce

avec _change, j'ai un message d'erreur:

erreur automation
l'objet invoqué s'est déconnecté de ses clients
:(

Choko

"CAP2" a écrit dans le message de news:
Obz5U$
Salut,

C'est la méthode DropDown qu'il faut utiliser...

Sur chaque combobox, affectes ce code (en remplaçant les "combobox" par
les
noms des tiens) :

Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)

ComboBox2.DropDown

End Sub

Ca marche ?

CAP2




Avatar
isabelle
salut Choko,

il faut aussi gérer l'erreur de retour sur la commande UserForm1.Show

Private Sub ComboBox1_Change()
Application.DisplayAlerts = False
ComboBox2.SetFocus
On Error Resume Next
ComboBox2.DropDown
End Sub

Sub Macro1()
On Error Resume Next
Load UserForm1
UserForm1.Show
Err.Clear
End Sub

isabelle


Bonjour Choko,

Combine ces 2 lignes de code dans une procédure "ComboBox2_Change

Me.ComboBox1.SetFocus
Me.ComboBox1.DropDown

Salutations!

"choko" a écrit dans le message de news:
oui cela marche avec _exit(). J'aurai préféré que cela marche avec
_change(), merci pour cette astuce

avec _change, j'ai un message d'erreur:

erreur automation
l'objet invoqué s'est déconnecté de ses clients
:(

Choko

"CAP2" a écrit dans le message de news:
Obz5U$
Salut,

C'est la méthode DropDown qu'il faut utiliser...

Sur chaque combobox, affectes ce code (en remplaçant les "combobox" par
les
noms des tiens) :

Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)

ComboBox2.DropDown

End Sub

Ca marche ?

CAP2