'patricktoulon
#If Win64 Then ' (Office 64bit ET Win 64Bit)
Private Declare PtrSafe Function SetWindowLongA Lib "user32" Alias "SetWindowLongPtrA" (ByVal hwnd As LongLong, ByVal nIndex As Long, ByVal dwNewLong As LongLong) As LongLong
Private Declare PtrSafe Function FindWindowA Lib "user32" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongLong
Private Declare PtrSafe Function SetParent Lib "user32" (ByVal hWndChild As LongPtr, ByVal hWndNewParent As LongPtr) As LongPtr
#Else ' (Office 32bit ET Win 32Bit) OU (Office 32Bit ET Win 64Bit)
Private Declare Function SetWindowLongA Lib "user32" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function FindWindowA Lib "user32" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
#End If
Private Sub UserForm_Activate()
Dim hwnd As LongPtr, pluscentre
hwnd = FindWindowA(vbNullString, Me.Caption)
SetWindowLongA hwnd, -16, &H94080080: Me.Height = Me.Height - 21 'on enlève la barre de titre
SetParent hwnd, Application.hwnd
Me.Top = (Application.Height - Me.Height) / 2
Me.Left = (Application.Width - Me.Width) / 2
End Sub