Calc - Macro contrôle champs dans boite de dialogue

Bonjour à tous,

Je sèche sur l’écriture d’une macro et j’aurai besoin de l’aide de la communauté.
A partir d’une boite de dialogue, je souhaiterai qu’un message d’alerte s’affiche lorsque l’utilisateur clique sur le bouton « OK » sans avoir saisi au préalable une date dans le champ dédié (in fine, après validation, la date saisie est reportée en cellule B3). Toutes mes tentatives aboutissent en erreur d’exécution BASIC.

Je vous joints un support simplifié illustrant mon problème.

Merci par avance pour votre aide.

Cordialement,

Julien
Test macro.ods (14.1 KB)

Merci à vous deux pour ces solutions qui fonctionnent à merveille.

       ...
		If 	oDialogue.GetControl("DateField1").gettext = ""  Then

Peut-être…

Dim oDialogue

Sub AfficherBoitedeDialogue()
	DialogLibraries.LoadLibrary("Standard")
	oDialogue = CreateUnoDialog(DialogLibraries.Standard.Dialog1)
	oDialogue.Title = "Date de situation souhaitée"
    
	oDialogue.Execute()
End Sub


Sub cmd_ok_execute(event)
	If oDialogue.getControl("DateField1").getText = ""  Then
		MsgBox ("Veuillez saisir une date", 0 , "Alerte saisie")
		Exit Sub
	End If
	
	oDateChoisie = CDateFromUnoDate(oDialogue.GetControl("DateField1").getDate)
	ThisComponent.Sheets.getByName("Feuille1").getCellRangeByName("B3").string = oDateChoisie
	
	oDialogue.EndExecute()
End Sub

Test macro.ods (13.6 KB)