Bonjour franck3869
Voici le code qu'il te faut
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
'vbFormControlMenu 0 L'ordre de fermeture provient de la Croix du UserForm
'vbFormCode 1 L'ordre de fermeture provient d'une macro
'vbAppWindows 2 L'ordre provient de la fermeture de la session Windows
'vbAppTaskManager 3 L'ordre de fermeture provient d'une instruction du Task Manager
'
' Si fermeture par la croix
If CloseMode = 0 Then
' Demander le mot de passe
If InputBox("Vous souhaitez fermer la fenêtre par la croix" & vbCr _
& "Merci de saisir le mot de passe", "Mot de passe") <> "toto" Then
' Si différend de toto, ne pas fermer l'USF
Cancel = True
End If
End If
End Sub
A+