je supose que tu fais ca sous excel?
 
une solution de laurent longre du mpfe  voir site "disciplus simplex"
 
'Supprimer la croix de fermeture d'un UserForm
'A placer au début du module de code de ton UserForm :
'L Longre, mpfe
 
Private Declare Function GetWindowLongA Lib "user32" _
  (ByVal hwnd As Long, ByVal nIndex As Long) As Long
 
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 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
 
nb: il est possible d'en faire autant pour les feuilles de calcul.