Bonjour
Et bonne année 2008 à toutes et tous

Pour limiter la saisie d'une date via un TDateTimePicker à une année civile donnée, sélectionnée dans un TComboBox, je fais
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
    CalAjoutOp.MinDate:=encodedate(strtoint(ListAnnees.Text),1,1);
    CalAjoutOp.MaxDate:=encodedate(strtoint(ListAnnees.Text),12,31);
Lorsque je change l'année dans ma ComboBox, par ex de 2007 je passe à 2008, je fais
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
procedure Tpal.ListAnneesChange(Sender: TObject);
begin
    CalAjoutOp.MinDate:=encodedate(strtoint(ListAnnees.Text),1,1);
    CalAjoutOp.MaxDate:=encodedate(strtoint(ListAnnees.Text),12,31);
end;
Et là, ça déclenche une exception, car le MinDate que je demande est postérieur au Maxdate.
Ce qui se comprend d'un point de vue logique, mais est aberrent du point de vue de la manipulation de ce compo
Et si j'essaie de contourner le pb en fixant d'abord le MaxDate, je retrouve la même exception en passant cette fois de 2008 à 2007
Même si l'exeception ne plante pas le programme, c'est pas... disons intellectuellemnt satisfaisant

Si qqn a une soluce, je suis preneur

-----------------------------------------
Oups! j'aurais du ouvrir la discussion dans le sous forum composants