Forums | Contact | Plan du site Menu Accueil » Excel et Visual Basic
 
Présentation
Utilité d'Excel
Présentation des menus
 
Manipulation des macros
Qu'est-ce qu'une macro ?
Création de macros
Se déplacer dans les tableaux
Macros et barres d'outils
 
Personnalisez vos classeurs
Créer votre splash screen
Fermer

Désactiver la barre de titre d'un Userform

  Les Userform sont des objects vous permettant d'afficher une fenêtre ou une boîte de dialogue sur l'interface utilisateur. Il peut parfois être préférable de désactiver la barre de titres de cette fenêtre, par exemple pour la réalisation d'un splash screen.

Il vous suffit d'ajouter le code suivant pour la UserForm.
(Clic droit / Propriétés sur UserForm1 dans la colonne de gauche "projets" ) :

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowLong Lib "user32" Alias _
"GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _
(ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function DrawMenuBar Lib "user32" (ByVal hWnd As Long) As Long

Private Sub UserForm_Initialize()
  Dim hWnd As Long, Style As Long
  hWnd = FindWindow(vbNullString, Me.Caption)
  Style = GetWindowLong(hWnd, -16) And Not &HC00000
  SetWindowLong hWnd, -16, Style
  DrawMenuBar hWnd
End Sub

Remarque : vous ne pouvez pas créer deux fonctions identiques. Si un autre code doit être ajouté dans UserForm_Initialize (c'est le cas par exemple pour les splash screen), vous devez ajouter ce code dans la même fonction.


© Cédric MICHEL - conseil & création ( 2003 / 2020 )