Bouton reduire et agrandir dans un userform
Résolu/Fermé
badjelau
Messages postés
4
Date d'inscription
jeudi 17 juillet 2014
Statut
Membre
Dernière intervention
20 juillet 2014
-
17 juil. 2014 à 10:40
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 18 juil. 2014 à 11:28
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 18 juil. 2014 à 11:28
A voir également:
- Bouton reduire et agrandir dans un userform
- Comment réduire la taille d'un fichier - Guide
- Comment agrandir une image - Guide
- Reduire taille photo - Guide
- Raccourci agrandir fenetre - Guide
- Réinitialiser chromecast sans bouton - Guide
4 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
17 juil. 2014 à 13:11
17 juil. 2014 à 13:11
Bonjour,
Plusieurs questions :
- quel est l'intérêt?
- Qu'entendez vous par "bouton réduire de l'UserForm"? Dans ma version d'excel, les userforms s'affichent uniquement avec la croix...
Plusieurs questions :
- quel est l'intérêt?
- Qu'entendez vous par "bouton réduire de l'UserForm"? Dans ma version d'excel, les userforms s'affichent uniquement avec la croix...
badjelau
Messages postés
4
Date d'inscription
jeudi 17 juillet 2014
Statut
Membre
Dernière intervention
20 juillet 2014
17 juil. 2014 à 21:33
17 juil. 2014 à 21:33
pijaku, il y a une possibilité d'inserer un code de sorte a afficher les trois boutons (Reduire, Agrandir et Fermer) sur un userform
maintenant j'aimerais que la taille du classeur excel, rime avec celle de l'userform
maintenant j'aimerais que la taille du classeur excel, rime avec celle de l'userform
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
Modifié par pijaku le 18/07/2014 à 10:29
Modifié par pijaku le 18/07/2014 à 10:29
Bonjour,
ça n'est surement pas très compliqué, mais je n'y arrive pas, j'ai un léger souci.
Lors de la "réduction", ce n'est pas l'Userform que l'on voit dans la barre des tâches de Window, mais le classeur. Par conséquent, lorsque l'on souhaite agrandir ("rouvrir") l'UserForm, on ouvre le classeur... Il faut alors rouvrir l'UserForm qui apparait alors en barre des tâches.
J'ai pensé automatiser cela avec l'événement Window_Resize du classeur, mais celui-ci refuse de fonctionner.
Il s'agit peut être d'un souci avec mon Excel, donc je te demande de tester ceci :
1- ouvre un nouveau classeur Excel,
2- Dans un Module standard :
3- Dans le Module de l'UserForm :
4- Dans le module ThisWorkbook :
C'est une sacrée colle que tu nous poses aujourd'hui... C'est pourquoi j'insiste pour en connaitre l'intérêt... Que veux tu faire exactement et pourquoi???
Cordialement,
Franck
ça n'est surement pas très compliqué, mais je n'y arrive pas, j'ai un léger souci.
Lors de la "réduction", ce n'est pas l'Userform que l'on voit dans la barre des tâches de Window, mais le classeur. Par conséquent, lorsque l'on souhaite agrandir ("rouvrir") l'UserForm, on ouvre le classeur... Il faut alors rouvrir l'UserForm qui apparait alors en barre des tâches.
J'ai pensé automatiser cela avec l'événement Window_Resize du classeur, mais celui-ci refuse de fonctionner.
Il s'agit peut être d'un souci avec mon Excel, donc je te demande de tester ceci :
1- ouvre un nouveau classeur Excel,
2- Dans un Module standard :
Public Declare Function FindWindow& _ Lib "user32" Alias "FindWindowA" _ (ByVal lpClassName$, ByVal lpWindowName$) Public Declare Function GetWindowLong& _ Lib "user32" Alias "GetWindowLongA" _ (ByVal hwnd&, ByVal nIndex&) Public Declare Function SetWindowLong& _ Lib "user32" Alias "SetWindowLongA" _ (ByVal hwnd&, ByVal nIndex&, ByVal dwNewLong&) Private Declare Function EnableWindow& _ Lib "user32" _ (ByVal hwnd&, ByVal fEnable&) Private Declare Function CallWindowProc& _ Lib "user32" Alias "CallWindowProcA" _ (ByVal lpPrevWndFunc&, ByVal hwnd&, ByVal Msg&, ByVal wParam&, ByVal lParam&) Public Const GWL_WNDPROC& = -4&, WM_SYSCOMMAND& = &H112& Public BaseUFProc&
3- Dans le Module de l'UserForm :
Option Explicit Private HandleUF& Private Sub UserForm_Initialize() Const WS_MAXIMIZEBOX& = &H10000, _ WS_MINIMIZEBOX& = &H20000, GWL_STYLE& = -16& HandleUF = FindWindow(vbNullString, Me.Caption) SetWindowLong HandleUF, GWL_STYLE, _ GetWindowLong(HandleUF, GWL_STYLE) Or WS_MAXIMIZEBOX Or WS_MINIMIZEBOX BaseUFProc = SetWindowLong(HandleUF, GWL_WNDPROC, BaseUFProc) End Sub Private Sub UserForm_Terminate() SetWindowLong HandleUF, GWL_WNDPROC, BaseUFProc End Sub Private Sub UserForm_Resize() 'cas : réduire UserForm If Me.Left = 0 And Me.Top <> 0 Then Application.WindowState = xlMinimized 'cas : affichage plein écran ElseIf Me.Left <= 0 And Me.Top <= 0 Then Application.WindowState = xlMaximized 'cas : affichage normal Else Application.WindowState = xlNormal With Application .Width = Me.Width .Height = Me.Height .Left = Me.Left .Top = Me.Top End With End If End Sub
4- Dans le module ThisWorkbook :
Private Sub Workbook_WindowResize(ByVal Wn As Window) If Wn.WindowState = xlMaximized Then UserForm1.Show False End Sub
C'est une sacrée colle que tu nous poses aujourd'hui... C'est pourquoi j'insiste pour en connaitre l'intérêt... Que veux tu faire exactement et pourquoi???
Cordialement,
Franck
badjelau
Messages postés
4
Date d'inscription
jeudi 17 juillet 2014
Statut
Membre
Dernière intervention
20 juillet 2014
Modifié par badjelau le 18/07/2014 à 10:58
Modifié par badjelau le 18/07/2014 à 10:58
Je veux donner l'impression que le logiciel ne fonctionne pas avec Excel.
Au fait, j'ai la possibilité maintenant de creer un setup de mon application VBA sur Excel, de pouvoir reduire ou agrandir mon userform...Je veux maintenant donner l'impression que mon userform est independant d'excel. en claire, afficher uniquement les userform de l'application, de son ouverture a sa fermerture, sans que l'utilisateur ne puisse voir de classeur excel ouvert en arriere plan.
Au fait, j'ai la possibilité maintenant de creer un setup de mon application VBA sur Excel, de pouvoir reduire ou agrandir mon userform...Je veux maintenant donner l'impression que mon userform est independant d'excel. en claire, afficher uniquement les userform de l'application, de son ouverture a sa fermerture, sans que l'utilisateur ne puisse voir de classeur excel ouvert en arriere plan.
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
18 juil. 2014 à 11:28
18 juil. 2014 à 11:28
C'est bien ce qui me semblait.....
Alors rien de plus simple :
Dans le modumle ThisWorkbook, dans l'événement WorkBook_Open :
Ou, sinon, voir la réponse de MichD ICI
Alors rien de plus simple :
Dans le modumle ThisWorkbook, dans l'événement WorkBook_Open :
Application.Visible = False
Ou, sinon, voir la réponse de MichD ICI