Bonjour Micoute,
Tu as juste fais une petite erreur classique en essayant de réaffecter une chaine à un gadget calendrier
(mais c'est ce genre de truc qu'on met un temps fou à trouver

)
Pas: SetGadget
Text(#Fin_Doli, ...
Mais: SetGadget
State(#Fin_Doli, ...
N'oublie pas que tout ce qui est date, travaille en interne comme un nombre de secondes depuis le 01/01/1970.
Le gadget calendrier aura donc ses entrées et sorties dans ce format et pas en texte.
Pour passer en mode "humain" il faut alors utiliser FormatDate() et ParseDate()
Voila un petit code complet (modèle avec BindEventGadget pour faire moderne et clair)
Code : Tout sélectionner
EnableExplicit
Enumeration FormWindow
#Window_0
EndEnumeration
Enumeration FormGadget
#Debut_Doli
#Fin_Doli
#Date_Fin
EndEnumeration
Global NbJourMois.a = 30
OpenWindow(#Window_0, 0, 0, 600, 400, "", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
CalendarGadget(#Debut_Doli, 034, 058, 246, 178, 0)
CalendarGadget(#Fin_Doli, 302, 058, 246, 174, 0)
TextGadget(#Date_Fin, 302, 300, 100, 100, "-")
Procedure Add_Days()
Protected Date_Doli_End = AddDate(GetGadgetState(#Debut_Doli), #PB_Date_Day, NbJourMois)
SetGadgetState(#Fin_Doli, Date_Doli_End)
SetGadgetText(#Date_Fin, FormatDate("%dd/%mm/%yyyy", Date_Doli_End))
EndProcedure
BindGadgetEvent(#Debut_Doli, @Add_Days(), #PB_EventType_LeftClick)
Global Event
Repeat
Event = WaitWindowEvent()
Until Event = #PB_Event_CloseWindow
Cela fait-il ce que tu souhaites ?
PS. Perso, j'évite d'imbriquer les fonctions car on a vite fait de se perdre et on ne gagne pas en vitesse.
De plus l'aide contextuelle des fonctions (en barre d'état) ne s'applique pas à la fonction imbriquée.
