Sub USF()
Dim position$
While IsError(Application.Match(position, Array("HG", "HD", "BG", "BD"), 0))
position = UCase(InputBox("Entrez la position HG HD BG ou BD :", "Position de l'UserForm", position))
If position = "" Then Exit Sub
Wend
Application.WindowState = xlMaximized 'taille maximum
With UserForm1
.Show 0 'non modal
Select Case position
Case "HG": .Top = Application.Top: .Left = Application.Left
Case "HD": .Top = Application.Top: .Left = Application.Left + Application.Width - .Width
Case "BG": .Top = Application.Top + Application.Height - .Height: .Left = Application.Left
Case "BD": .Top = Application.Top + Application.Height - .Height: .Left = Application.Left + Application.Width - .Width
End Select
End With
End Sub