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

Problème de Focus, ou d'Activation entre 2 Userforms

2 réponses
Avatar
Frédéric
Bonjour,
J'ai le soucis suivant :
Dans mon userform1, j'ai des macros qui se lancent sur des événements du
genre Label.MouseMouve(). Ca marche très bien au lancement du userform1.

Lorsque j'affiche un deuxième userform (le premier restant en arrière plan),
et que je masque ensuite celui-ci par Userform2.Hide, eh bien les évènements
de type MouseMove de Userform1 (pourtant seul affiché) ne surviennent plus!
Il faut que je clique dans le userform1 pour qu'à nouveau les évènements de
type mousemove() reprennent...

Connaissez vous un moyen par code VBA de faire en sorte que le userform1
redevienne "suffisamment actif" (après le Hide du userform2) pour détecter
les évènements mousemove()?

Merci d'avance!

2 réponses

Avatar
LSteph
Bonjour ,

Peut-être une différence de version, j'ai beau tester:

un userform1 avec un textbox affichant msgbox sur mousemove
et un bouton pour afficher userform2
dans userform2 un bouton avec me.hide sur click
Le mousemove reprend bien dans userform1.

lSteph

"Frédéric" a écrit dans le message de
news:
Bonjour,
J'ai le soucis suivant :
Dans mon userform1, j'ai des macros qui se lancent sur des événements du
genre Label.MouseMouve(). Ca marche très bien au lancement du userform1.

Lorsque j'affiche un deuxième userform (le premier restant en arrière
plan),
et que je masque ensuite celui-ci par Userform2.Hide, eh bien les
évènements
de type MouseMove de Userform1 (pourtant seul affiché) ne surviennent
plus!
Il faut que je clique dans le userform1 pour qu'à nouveau les évènements
de
type mousemove() reprennent...

Connaissez vous un moyen par code VBA de faire en sorte que le userform1
redevienne "suffisamment actif" (après le Hide du userform2) pour détecter
les évènements mousemove()?

Merci d'avance!





Avatar
Michel Pierron
Bonjour Frédéric;
Après de hide de UserForm2, utiliser AppActivate en précisant le titre de la
fenêtre qui doit avoir le focus:
AppActivate "UserForm1Caption"

MP

"Frédéric" a écrit dans le message de
news:
Bonjour,
J'ai le soucis suivant :
Dans mon userform1, j'ai des macros qui se lancent sur des événements du
genre Label.MouseMouve(). Ca marche très bien au lancement du userform1.

Lorsque j'affiche un deuxième userform (le premier restant en arrière
plan),

et que je masque ensuite celui-ci par Userform2.Hide, eh bien les
évènements

de type MouseMove de Userform1 (pourtant seul affiché) ne surviennent
plus!

Il faut que je clique dans le userform1 pour qu'à nouveau les évènements
de

type mousemove() reprennent...

Connaissez vous un moyen par code VBA de faire en sorte que le userform1
redevienne "suffisamment actif" (après le Hide du userform2) pour détecter
les évènements mousemove()?

Merci d'avance!