[UserForm P1] Oter la croix rouge

Forum pour partager vos connaissances et vos astuces Excel / VBA ...
Avatar du membre
lermite
Membre impliqué
Membre impliqué
Messages : 1599
Inscrit le : 5 février 2012
Version d'Excel : 2000/2007FR

Message par lermite » 17 février 2012, 07:39

Il est parfois intéressant de supprimer la possibilité de sortir d'un userform tant que toutes les entrées n'ont pas été saisies, mais il reste toujours la croix qui autorise l'utilisateur à sortir.
Le code ci-dessous permet d'oter cette croix.

Voir une démo générale sur ce tuto.

Dans un module général (Module1 par exemple) coller le code ci-dessous.

Code : Tout sélectionner

Option Explicit

'pour enlever la croix rouge d'un UF
 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 Sub OteCroix(Caption As String)
Dim hwnd As Long
    hwnd = FindWindowA("Thunder" & IIf(Application.Version Like "8*", "X", "D") _
    & "Frame", Caption)
    SetWindowLongA hwnd, -16, GetWindowLongA(hwnd, -16) And &HFFF7FFFF
End Sub
Et dans un UserForm..

Code : Tout sélectionner

Private Sub UserForm_Initialize()
    OteCroix Me.Caption
End Sub
Tout problème a une solution, le vrai problème... c'est de la trouver.
Avatar du membre
Smallbug
Jeune membre
Jeune membre
Messages : 11
Inscrit le : 22 mars 2014
Version d'Excel : 2010

Message par Smallbug » 22 mars 2014, 13:14

Bonjour,

Merci pour le code que tu offres a la communauté :p

Si tu me le permet, à mon sens, enlever la croix rouge est pratique pour des aspects graphiques et c'est ainsi que je vais l'utiliser. Merci

Pour empecher les gens de quitter un formulaire : il y a cette solution :

UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)

Le principe étant de mettre des conditions type SI et qui donneront une valeur a la variable cancel pour empecher de sortir.
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message