Re
je viens de retrouvé la bonne syntaxe pour les machines recente....
(cela fonctionne chez moi sur W7 64 bits / office 2007 32bits
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
hwnd = FindWindow(vbNullString, Me.Caption)
Style = GetWindowLong(hwnd, -16) And &HFFF7FFFF
SetWindowLong hwnd, -16, Style
DrawMenuBar hwnd
End Sub
et pour supprimer purement et simplement la barre de titre :
Style = GetWindowLong(hwnd, -16) And Not &HC00000 'supression de la barre de titre...
Fred
Mais attention cela ne fonctionnera pas sur les Office 64 bits.... autre manière de déclarer........
c'est la raison pour laquelle je ne l'avais pas mis en oeuvre dans un fichier que j'ai fourni a plusieurs collègues qui ont un parc de MS office très différents.... et que j'avais simplement inhiber le fonctionnement du bouton .... a toi de savoir a qui sera destiné ton fichier....
fred