bonjour
alors pour ton probleme de userform il y aurait plusieur solution
je recapitule
tu a un bouton dans le usf 1 qui appelle le usf 2
probleme ton usf 1 garde la main(position1)
solution 1
faire du usf2 le fils du usf1 avec l'api setparent(fait une recherche)tu trouvera facilement d'ailleur le sujet a été traité et je sui l'auteur du post
solution2 utilisé l'api findwindow pour determiner les handles
et utiliser l'api showwindow pour determiné la position haute ou basse des userfoms
detail:
voila la fonction pourtrouver le handle
Code:Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( ByVal lpClassName As String, ByVal lpWindowName As String) As Long
voila pour le set parent
ou voila la fonction pour le showCode:Declare Function SetParent Lib "user32" Alias "SetParent" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
Description :Code:Declare Function ShowWindow Lib "user32" Alias "ShowWindow" ( ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
la fonction show window permet de forcer l'état d'affichage d'une fenêtre (agrandir, réduire).
hwnd est un pointeur (handle) vers une fenêtre.elle est determiné avec findwindow
nCmdShow peut prendre la valeur d'une constante dans le tableau ci-dessous.
La fonction retourne 0 si la fenêtre était cachée, et une valeur différente de 0 dans le cas contraire.
Constante Valeur Définition
SW_HIDE 0 Cache la fenêtre et en active une autre.
SW_MAXIMIZE 3 Agrandit la fenêtre.
SW_MINIMIZE 6 Réduit la fenêtre et active la prochaine (dans l'ordre des tâches windows).
SW_RESTORE 9 Active et affiche la fenêtre à sa taille et position initiales.
SW_SHOW 5 Active et affiche la fenêtre.
SW_SHOWMAXIMIZED 3 Active et agrandit la fenêtre.
SW_SHOWMINIMIZED 2 Active et réduit la fenêtre.
SW_SHOWNA 8 Identique à SW_SHOW sauf que la fenêtre n'est pas activée.
dois-je faire le reste ou tu va t'en sortir?
au plaisir