Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Control Position d'un MsgBox

1 réponse
Avatar
Alain79
Je ne trouve pas le moyen de positionner un MsgBox dans l'écran
C'est possible pour l'InputBox mais ce dernier ne propose pas de bouton
genre vbYesNo
Merci pour vos conseils
Alain79

1 réponse

Avatar
michdenis
Bonjour Alain79,

Une proposition de Frédéric Sigonneau intéressante :

Utilisation d'un formulaire à la volée !

Message = Il pleut
150 = distance par rapport au haut de la fenêtre de la fenêtre calcul
350 = distance par rapport au bord gauche de la fenêtre de la feuille de calcul.

'--------------------------
Sub test() 'FS
MsgBoxPerso "Il pleut", 150, 350
End Sub
'--------------------------
Sub MsgBoxPerso(Msg$, Haut&, Gauche&)
'création à la volée d'un userform qui s'affiche avec Msg
'à la position Haut et Gauche
Dim UsrForm As Object, lbl As Object

Set UsrForm = ThisWorkbook.VBProject.VBComponents.Add(3)
With UsrForm
.Properties("Caption") = "Coucou"
.Properties("Width") = 200
.Properties("Height") = 100
.Properties("Top") = Haut
.Properties("Left") = Gauche
.Properties("ShowModal") = True
End With

'le texte
Set lbl = UsrForm.Designer.Controls.Add("forms.label.1")
With lbl
.Caption = Msg
.Left = 18: .Top = 12: .Width = 165: .Height = 55
.ForeColor = 2036353 'rouge foncé
.Font.Bold = True: .Font.Size = 12
End With

'bouton
Set Btn = UsrForm.Designer.Controls.Add("forms.commandbutton.1")
With Btn
.Caption = "OK"
.Height = 25
.Left = 60: .Top = 45
End With
With UsrForm.CodeModule
x = .CountOfLines
.insertlines x + 1, "Sub CommandButton1_Click()"
.insertlines x + 2, " Me.Hide"
.insertlines x + 3, "End Sub"
End With

VBA.UserForms.Add(UsrForm.Name).Show

ThisWorkbook.VBProject.VBComponents.Remove UsrForm
End Sub
'--------------------------------------


Salutations !



"Alain79" a écrit dans le message de news: dhh569$qht$
Je ne trouve pas le moyen de positionner un MsgBox dans l'écran
C'est possible pour l'InputBox mais ce dernier ne propose pas de bouton
genre vbYesNo
Merci pour vos conseils
Alain79