VBA - Enlever la croix rouge d'un UserForm.

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 voilà, il reste toujours cette croix qui autorise l'utilisateur à sortir.
Le code ci-dessous permet d'oter cette croix.

Dans la partie déclaration de l'UF


'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

Dans l'initialisation de l'UF


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


Publié par lermite222 - Dernière mise à jour le 13 novembre 2009 à 12:34 par marlalapocket
Ce document intitulé « VBA - Enlever la croix rouge d'un UserForm. » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Suggestions
  •  VBA - Enlever la croix rouge d'un UserForm.
  •  Messagerie windows mail sous vista (Résolu) » Meilleure réponse: POUR CEUX QUI ONT UN PB DE CONNECTION AVEC WINDOWS MAIL OU OUTLOOK SOUS VISTA VOILA L'ASTUCE QUE J'AI TROUVE SUR LE FORUM ET QUI MARCHE Rendez-vous dans : 1 > C:\Windows\System32 et chercher le fichier qui s'appelle cmd (l'outil de lanc
  •  Peripherique sortie audio pas installé VISTA (Résolu) » Meilleure réponse: J'avais le même problème que vous, et en cherchant un peu, j'ai réussi a trouver une solution (marche qu'avec vista). - Allez dans panneau de configuration. - Ouvrez gestionnaire de périphériques - Cliquez sur le petit plus du contrôleu
  •  VBA enlever la croix ? (Résolu) » Bonjour, J'ai un petit probleme avec mon code, J'ai fais pas mal de design autour de mon code VBA 2007, l'utilisateur ne devra que saisir ou selectionner dans le menu crée par mes soins hors problème j'ai une croix (celle avec des fleches) qui permet...
  •  Google earth croix rouge (Résolu) » Meilleure réponse: ok, tant mieux a+
  •  Aide VB, fermer l'application ... (Résolu) » Meilleure réponse: Re, Public Sub Me_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing e.Cancel = True 'annuler égale vrai. End Sub Topique vieux de 2 siècles, mais vu qu'il a une certa
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?
Comment convertir un lien en PDF
VBA - Ecrire/lire une série de TextBox en une seule Sub