Salem, Bonjour
Est ce qu'on peut bloquer ou masquer la croix en haut a droit (x - ..) dans un fichier excel
Merci d'avance
Salem, Bonjour
Est ce qu'on peut bloquer ou masquer la croix en haut a droit (x - ..) dans un fichier excel
Merci d'avance
Bonjour,
https://www.developpez.net/forums/d1...ure-userforms/
attention si Office 64 Bits, il faudra modifier la déclaration des API
Salem, Bonjour
Merci pour la réponse, mais ce que je veut c'est pas la crois de l'userform
mais de la feuil excel et j'ai l'office 64 bit
Merci
Pour bloquer la fermeture du fichier Excel en utilisant la croix, il faut jouer sur l'évènement "BeforeClose" du Workbook
Avec une simple variable tu peux gérer ça
Prend une variable publique booléenne AutoriseFermeture
Si elle est False alors tu annules l'opération de fermeture
Ainsi, c'est toi qui décides de tout
Par exemple :
- si c'est uniquement tes procédures qui doivent autoriser la fermeture : tu met la variable à True et tu .Close le classeur
- si tu veux aussi que ça soit un bouton qui l'autorise : dans la procédure Click du bouton tu mets aussi ta variable à True
et en gros, tu l'utilises ainsi
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Private Sub Workbook_BeforeClose(Cancel As Boolean) If Not AutoriseFermeture Then Cancel = True End Sub
Salem, Bonjour
Merci pour la réponse
Ce que je veut c'est que la croix de fermeture et le trait de de minimize et le carre de restore ne fonctionne pas ou les masquer
je crois que j'ai bien expliquer maintenant parce que je crois qu'on n'est pas dans la meme ligne (j'ai mal exprimer ma premier question)
Merci encore une fois
bonsoir
voila un exemple qui enlève carrément les boutons ou les remets
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 #If VBA7 Then Private Declare ptrsafe Function SWL Lib "User32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long Private Declare ptrsafe Function FindWindow Lib "user32" Alias "FindWindowA" ( ByVal lpClassName As String, ByVal lpWindowName As String) As Long #Else Private Declare Function SWL Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long #End If Private Sub enleve_bouton_Click() Dim HANDLE HANDLE = FindWindow(vbNullString, Application.Caption) SWL HANDLE, -16, &H94C40080 End Sub Private Sub remet_bouton_Click() Dim HANDLE HANDLE = FindWindow(vbNullString, Application.Caption) SWL HANDLE, -16, &H94CF0080 End Sub![]()
mes fichiers dans les contributions:
mail avec CDO en vba et mail avec CDO en vbs dans un HTA
survol des bouton dans userform
prendre un cliché d'un range
si ton problème est résolu n'oublie pas de pointer :: ça peut servir aux autres
et n'oublie pas de voter
Partager