Supprimer la croix

Climaudo

XLDnaute Occasionnel
Bonjour le forum

Je souhaiterai savoir comment annuler l'action de fermeture de la croix du bandeau d'une USF.

Merci de vos conseils.

Olivier
 
F

Franck

Guest
Bonjour Climaudo

Comme ça !


Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)

'empecher un userform de se fermer avex la croix
If CloseMode = vbFormControlMenu Then Cancel = True
End Sub

A +
 
E

evelynetfrancois

Guest
bonjour frank et olivier
tu peux également faire 'disparaitre' cette croix de l USF

si c'est ce que tu veux je cherche la macro !!
tiens moi au courant ...........
bon travail
E et F
 

Marc_du_78

XLDnaute Accro
Bonsoir à vous,

Voici ce que te proposais evelynetfrancois

SupprimerCroixUSF

Coller ce code dans un module

Option Private Module
Declare Function GetWindowLongA Lib 'User32' _
(ByVal hWnd As Long, ByVal nIndex As Long) As Long
Declare Function SetWindowLongA Lib 'User32' _
(ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Declare Function FindWindowA Lib 'User32' _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long

'Moyen de ne pas avoir la CROIX DE FERMETURE sur les UserForms

Sub PasDeCroix(USF As UserForm)
Dim hWnd As Long
hWnd = FindWindowA('Thunder' & IIf(Application.Version Like '8*', _
'X', 'D') & 'Frame', USF.Caption)
SetWindowLongA hWnd, -16, GetWindowLongA(hWnd, -16) And &HFFF7FFFF
End Sub

Ensuite dans le procedure d'initialisation de ta userform tu mets ca :

Private Sub UserForm_Initialize()
PasDeCroix Me
End Sub

Si tu veux juste désactiver la croix tu peux faire (elle sera toujours visible mais ne fermera plus l'USF)

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

Bonne soirée et bon dimanche
 

Discussions similaires

  • Résolu(e)
Microsoft 365 Tri et Import
Réponses
4
Affichages
184

Statistiques des forums

Discussions
312 332
Messages
2 087 361
Membres
103 530
dernier inscrit
Chess01