Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

croix rouge pour fermer un userform

  • Initiateur de la discussion Initiateur de la discussion nikkyb
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

nikkyb

XLDnaute Junior
Bonjour,

J'ai essaié plusieur code trouvé sur des forum mais malgrés ca je n'ai pas trouvé ma réponse :

J'aimerais d'une part enlever la croix rouge situé en haut à droite des userform

Et avoir toujours dans des userform un bouton permettant de sauvegarder et un de quitter.
J'ai déja un bouton quitter avec ce code :Application.Quit
mais vu que je ne peut pas sauvegarder via l'userform, je me retrouve avec le message de microsoft : voulez vous sauvegarder et si j'annule alors je retombe sur les feuils excel.

Le but étant de ne plus voir les feuil de calcul et de ne travailler qu'avec les userform de mon appli

Merci d'avance
 
Re : croix rouge pour fermer un userform

Re:

Je l'ai certainement dans mes archives, mais je dois partir.

En faisant une recherche dans XLD, tu trouveras certainement.

Les exemples ne manquent pas!!!

A noter que tu peux simplement désactiver cette croix.

A + si tu en as besoin.

Yann
 
Re : croix rouge pour fermer un userform

Bonjour le fil,

Le code pour désactiver la croix rouge

Dans un module
Code:
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
 
Public Transfer(6) As String
 
Sub OteCroix(UF As UserForm)
Dim hwnd As Long
    'Enlève la croix rouge de l'UF
    hwnd = FindWindowA("Thunder" & IIf(Application.Version Like "8*", "X", "D") _
    & "Frame", UF.Caption)
    SetWindowLongA hwnd, -16, GetWindowLongA(hwnd, -16) And &HFFF7FFFF
End Sub

Dans l'USF à l'initialisation
Code:
Private Sub UserForm_Initialize()
    OteCroix Me
    '.... code
End sub

Voili, voilà 😉
 
Re : croix rouge pour fermer un userform

Bonjour le fil,

@ Hulk : il me semble qu'il y a plus simple pour désactiver la croix rouge.

Par exemple, dans la macro qui ouvre l'UserForm :

Code:
1 UserForm1.Show
GoTo 1

Et bien sûr terminer la macro qui ferme l'UserForm par l'instruction End.

Edit : ah oui pardon, tu ne désactives pas, tu enlèves...

A+
 
Dernière édition:
Re : croix rouge pour fermer un userform

Salut a tous,

Pour deactiver il faut placer ceci dans le code de la forme:
Code:
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    If CloseMode <> vbFormCode Then Cancel = True
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…