Question sur les Userform

tiguil

XLDnaute Nouveau
J,aimerais savoir comment programmer une action si une personne click sur le X pour fermer le userform.

2ième question.

Puis-je également désactivé le X pour fermer un userform. si Oui, comment ??
 

roro69

XLDnaute Impliqué
Re : Question sur les Userform

Bonsoir
Pense à ajouter un bouton de sortie (contenant une procédure "Unload Me") pour ne pas bloquer l'application.

Code:pour bloquer la croix de fermeture:

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then Cancel = True
End Sub

Code pour supprimer la croix de fermeture:
' *** A placer dans les déclarations Du UserForm
Private Declare Function GetWindowLongA Lib "user32" _
(ByVal hwnd As Long, ByVal nIndex As Long) As Long

Private Declare Function SetWindowLongA Lib "user32" _
(ByVal hwnd As Long, ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long

Private Declare Function FindWindowA Lib "user32" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long

' *** Placer cette procédure aussi dans le UserForm
' dont la croix doit être supprimée
Private Sub UserForm_Initialize()
Dim hwnd As Long
hwnd = FindWindowA("Thunder" & IIf(Application.Version Like "8*", _
"X", "D") & "Frame", Me.Caption)
SetWindowLongA hwnd, -16, GetWindowLongA(hwnd, -16) And &HFFF7FFFF
End Sub


'Nota : Si pendant l'affichage du UserForm le Caption est modifié, la croix réapparaitra !
A+++
 

Discussions similaires

  • Résolu(e)
Microsoft 365 Taille UserForm
Réponses
3
Affichages
424
  • Question
Microsoft 365 Listbox
Réponses
3
Affichages
285

Statistiques des forums

Discussions
312 843
Messages
2 092 752
Membres
105 520
dernier inscrit
Inconnuto