OVH Cloud OVH Cloud

Priorité de userform

4 réponses
Avatar
Emcy
Salut,

j'ai cr=E9er deux userform que je peut r=E9duire/agrandire

Est-il possible de dire que la userform1 est toujour en=20
avant plan de la userform2 ?

4 réponses

Avatar
Papyty
Salut @ Tous,
Emcy a écrit:
Salut,

j'ai créer deux userform que je peut réduire/agrandire

Est-il possible de dire que la userform1 est toujour en
avant plan de la userform2 ?


Le USF qui est en avant plan est celui qui est actif donc si tu
n'interviens que sur l'USF1 et que l'USF2 ne te serre qu'a afficher quelque
chose peut etre une solution:
Dans le code de UserForm2
Private Sub UserForm_Activate()
T = UserForm1.Top
L = UserForm1.Left
UserForm1.Show
UserForm1.Top = T
UserForm1.Left = L
End Sub
Voili un peu tordu mais ça peut le faire

--
@+
Thierry

Avatar
Emcy
Le problème, c'est que je veux intervenir sur les deux
userform


-----Message d'origine-----
Salut @ Tous,
Emcy a écrit:
Salut,

j'ai créer deux userform que je peut réduire/agrandire

Est-il possible de dire que la userform1 est toujour
en


avant plan de la userform2 ?


Le USF qui est en avant plan est celui qui est actif
donc si tu

n'interviens que sur l'USF1 et que l'USF2 ne te serre
qu'a afficher quelque

chose peut etre une solution:
Dans le code de UserForm2
Private Sub UserForm_Activate()
T = UserForm1.Top
L = UserForm1.Left
UserForm1.Show
UserForm1.Top = T
UserForm1.Left = L
End Sub
Voili un peu tordu mais ça peut le faire

--
@+
Thierry
.




Avatar
Alain CROS
Bonjour.

Tu peux essayer comme ça.
Tes 2 UserForms doivent avoir la propriété ShowModal = False
Le premier UserForm comporte un bouton qui affiche le second UserForm
Dans le module du premier UserForm

Private Const SWP_NOMOVE = &H2
Private Const SWP_NOSIZE = &H1
Private Const SWP_NOACTIVATE = &H10
Private Const SWP_SHOWWINDOW = &H40
Private Const HWND_TOPMOST = -1
Private Const Flags = SWP_NOACTIVATE Or SWP_SHOWWINDOW _
Or SWP_NOMOVE Or SWP_NOSIZE
Private Declare Function SetWindowPos Lib "user32" _
(ByVal hwnd As Long, ByVal hWndInsertAfter As Long, _
ByVal x As Long, ByVal y As Long, ByVal cx As Long, _
ByVal cy As Long, ByVal wFlags As Long) As Long
Private Declare Function GetActiveWindow Lib "user32" () As Long
Private Sub CommandButton1_Click()
UserForm2.Show
End Sub
Private Sub UserForm_Activate()
SetWindowPos GetActiveWindow, HWND_TOPMOST, 0, 0, 0, 0, Flags
End Sub

Alain CROS.

"Emcy" a écrit dans le message de news: 096001c3b00d$b248e150$
Le problème, c'est que je veux intervenir sur les deux
userform


-----Message d'origine-----
Salut @ Tous,
Emcy a écrit:
Salut,

j'ai créer deux userform que je peut réduire/agrandire

Est-il possible de dire que la userform1 est toujour
en


avant plan de la userform2 ?


Le USF qui est en avant plan est celui qui est actif
donc si tu

n'interviens que sur l'USF1 et que l'USF2 ne te serre
qu'a afficher quelque

chose peut etre une solution:
Dans le code de UserForm2
Private Sub UserForm_Activate()
T = UserForm1.Top
L = UserForm1.Left
UserForm1.Show
UserForm1.Top = T
UserForm1.Left = L
End Sub
Voili un peu tordu mais ça peut le faire

--
@+
Thierry
.




Avatar
Emcy
j'ai pas bien compris à quoi sert ta macro

remarque : il faut que ça marche pour x userform

-----Message d'origine-----
Bonjour.

Tu peux essayer comme ça.
Tes 2 UserForms doivent avoir la propriété ShowModal =
False

Le premier UserForm comporte un bouton qui affiche le
second UserForm

Dans le module du premier UserForm

Private Const SWP_NOMOVE = &H2
Private Const SWP_NOSIZE = &H1
Private Const SWP_NOACTIVATE = &H10
Private Const SWP_SHOWWINDOW = &H40
Private Const HWND_TOPMOST = -1
Private Const Flags = SWP_NOACTIVATE Or SWP_SHOWWINDOW _
Or SWP_NOMOVE Or SWP_NOSIZE
Private Declare Function SetWindowPos Lib "user32" _
(ByVal hwnd As Long, ByVal hWndInsertAfter As Long, _
ByVal x As Long, ByVal y As Long, ByVal cx As Long, _
ByVal cy As Long, ByVal wFlags As Long) As Long
Private Declare Function GetActiveWindow Lib "user32" ()
As Long

Private Sub CommandButton1_Click()
UserForm2.Show
End Sub
Private Sub UserForm_Activate()
SetWindowPos GetActiveWindow, HWND_TOPMOST, 0, 0, 0, 0,
Flags

End Sub

Alain CROS.

"Emcy" a écrit
dans le message de news: 096001c3b00d$b248e150

$
Le problème, c'est que je veux intervenir sur les deux
userform


-----Message d'origine-----
Salut @ Tous,
Emcy a écrit:
Salut,

j'ai créer deux userform que je peut réduire/agrandire

Est-il possible de dire que la userform1 est toujour
en


avant plan de la userform2 ?


Le USF qui est en avant plan est celui qui est actif
donc si tu

n'interviens que sur l'USF1 et que l'USF2 ne te serre
qu'a afficher quelque

chose peut etre une solution:
Dans le code de UserForm2
Private Sub UserForm_Activate()
T = UserForm1.Top
L = UserForm1.Left
UserForm1.Show
UserForm1.Top = T
UserForm1.Left = L
End Sub
Voili un peu tordu mais ça peut le faire

--
@+
Thierry
.




.