Symbôle Réduire dans un Userform
thesentry
Messages postés
1092
Statut
Membre
-
thesentry Messages postés 1092 Statut Membre -
thesentry Messages postés 1092 Statut Membre -
Bonjour,
J'aimerais avoir la possibilité de réduire un userform en cours d'execution et qu'il reste dans la barre de tâches de Windows.
comment faire ?
J'ai trouvé ce code :
Mais ça ne fonctionne pas.
Merci
J'aimerais avoir la possibilité de réduire un userform en cours d'execution et qu'il reste dans la barre de tâches de Windows.
comment faire ?
J'ai trouvé ce code :
Private Declare Function FindWindowA& Lib "User32" (ByVal lpClassName$, ByVal lpWindowName$)
Private Declare Function EnableWindow& Lib "User32" (ByVal hWnd&, ByVal bEnable&)
Private Declare Function GetWindowLongA& Lib "User32" (ByVal hWnd&, ByVal nIndex&)
Private Declare Function SetWindowLongA& Lib "User32" (ByVal hWnd&, ByVal nIndex&, ByVal dwNewLong&)
Private Sub UserForm_Activate()
EnableWindow FindWindowA("XLMAIN", Application.Caption), 1
End Sub
Private Sub UserForm_Initialize()
Dim hWnd As Long
hWnd = FindWindowA(vbNullString, Me.Caption)
SetWindowLongA hWnd, -16, GetWindowLongA(hWnd, -16) Or &H20000
End Sub
Mais ça ne fonctionne pas.
Merci
10 réponses
-
Rassure nous, le fichier que t'a transmis f894009 fonctionne sur ta machine. Si ce n'est pas le cas il y a un autre problème. Tous les fichiers que nous t'avons transmis fonctionnent tel quel sans aucune modification!
-
Bonjour,
Ce code marche tres bien, mais il a pour but de reduire une UF en bas a gauche de l'ecran, pas de mettre l'UF reduite dans la barre de tache -
Bonjour,
Merci pour votre réponse. Mais cela ne me dit pas comment je peux parvenir à mes fins.
De plus, lorsqu'un utilisateur lance Excel, l'userform s'exécute automatiquement. Mais il n'apparaît pas dans la barre des tâches. Comment faire ?
Merci -
Bonjour,
Voir exemple ici:
http://www.cjoint.com/data3/3EvnSvuUsi3.htm
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Ce ne sera pas dans la barre de tâche mais en bas à gauche:
Mettre dans ThisWorkBook:
Option Explicit Private Sub Workbook_Open() UserForm1.Show vbModeless Application.Visible = False 'rendre Excel invisible End Sub
et dans l'UserForm:
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) Application.Visible = True 'rendre Excel invisible End Sub
-
Cela fonctionne chez moi.
Par contre chez une erreur sur cette ligne à la fermeture:
SetWindowLong HandleUF, GWL_WNDPROC, BaseUFProc
-
-
Re bonjour a vous deux,
GWL_WNDPROC est une constante qui doit etre egale a -4
a voir: https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setwindowlonga?redirectedfrom=MSDN
BaseUFProc: c'est un machin dont le code VBA de definition manque , mais cette ligne ne vous sert a rien puisque vous fermez l'application excel -
-
-
Bonjour,
un fichier avec votre code modifie (mise en commentaire de ce qui ne sert a rien): https://www.cjoint.com/?DEConNul5g8 -
Bien sur que c'est un souci. Mais sans code comment veux tu que l'on t'aide!!!!!!!!!!!!!
-
Bonjour a vous deux,
Thesentry: si votre UF ne se "lance" pas parce que vous avez supprime des donnees, aucune importance, comme l'a ecrit cs_le pivert, il nous faut votre code complet sans donnees -
Bonjour,
Je ne peux pas vous fournir le code. Laissez tomber donc.
Merci de votre aide.
TS