Si, c'est possible avec les APIs de Windows.
ATTENTION NE PAS OUBLIER D'AVOIR UN BOUTON POUR FERMER.........!
---------------------------- module 1 pour Auto_open -----------------------------------
'Pour éviter que les utilisateurs ne ferment un userform
'A placer au début du module
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
Sub auto_open()
UserForm1.Show (modal)
End Sub
----------------------------------------------------
----------------- Module API_Sup_Croix -----------------------------
'Suppression Croix X userform a l'initialisation
'-----------------------------------------------
Sub SupprimerFermeture(Name_Userform As String)
Dim hWnd As Long
hWnd = FindWindowA("Thunder" & IIf(Application.Version Like "8*", _
"X", "D") & "Frame", Name_Userform)
SetWindowLongA hWnd, -16, GetWindowLongA(hWnd, -16) And &HFFF7FFFF
End Sub
-------------------------------------------------------------
'Dans chaque code de userform mettre :
Private Sub UserForm_Initialize()
Call SupprimerFermeture(Me.Caption)
'... autres instructions d'initialisation
End Sub
Private Sub CommandButton1_Click()
End
End Sub