
Je comprend mieux... J'espère que mon intervention ne t'a pas trop vexé, mais ta syntaxe était impressionnante....
J'ai également rencontré le problème... Les calendriers microsoft s'arrètent souvent en 2030... (ils aiment les patchs et surtout vendre de nouveau produits...)
Effectivement si le siècle n'est pas précisé, la convertion sur 4 digits se fera sur celui en cours jusqu'en 2030 (non inclu). Autrement il considère que c'est 19..
La logique veut que si l'on code les années sur 2 digits c'est que ce sont des dates courantes et comme la micro n'est généralisée que depuis 20 ans, le problème ne se pose pas tant que tes conversions seront faites avant 2029...
Mais je te l'accorde, il y a tjrs le cas particulier qui confirme la règle... Enfin tous ça pour te dire que lorsqu'on écrit une routine de convertion il faut souvent interpréter les besoins et, malheureusement, émètres des hypotèses, comme : Est-ce que ma fiche peut intégrer des dates en dessous des annèes 1980 ou au dessus de 2003, au moment de la convertion... Enfin tu vois ce que je veux dire...
B@se

-------------------------------
Réponse au message :
-------------------------------
> Le but de la manipulation est de récupérer des dates affichées dans des flexgrids pour l'instant au format DD/MM/YY (gain de place très grand flex). cependant lors de l'utilisation de cdate on s'apercoit que l'anée sur deux caractère s'arrête à 2029.
>
> test
> format$(cdate("31/12/29"),"DD/MM/YYYY") = 31/12/2029
> format$(cdate("31/12/30"),"DD/MM/YYYY") = 31/12/1930
>
> donc je suis dans l'obligation de traiter mes date sur le format DD/MM/YYYY sinon le siècle peut être erronné (pour ma part).
>
> Bug du troisième millénaire on m'a dit :
> http://www.vbfrance.com/forum.aspx?Article=64752
>
> Enfin le problème est le même quelque soit les paramètres régionaux.
>
>
> Après réflexion je trouve ca normal si dans une string tu n'a pas la valeur du siècle il faut bien prendre une valeur par défaut !!
> Dommage que la flexgrid ne soit alimentée que par des types string et pas date, time, integer, long... enfin faut pas trop en demander
>
> Et pour finir, le bout de code donné en exemple est une copie de la feuille d'éxécution (CTRL + G) dans VB, pour l'optimisation ne t'inquête pas !!
>
> Il y a 400 millions d'obtenir un résultat en programation, il faut cependant choisir le plus adapté à ton application, et c'est ca le boulot d'un dev !!
>
> un 486 avec 1Go de mémoire vive ca rame !!!!!
>
> Merci quand même pour la rapidité de ta réponse et ta proposition d'aide.

>
>
>
>
> Sygale
> sygale@ifrance.com
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Whaaaaaa...
> >
> > C pas banal ça !!! Imagines le travail demandé au complilateur VB !!! J'espère que le reste du source n'est pas aussi , heuuu... Comment dirais-je.... si peu optimisée... Quel est le but de la manip au juste ???
> >
> > B@se

> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > kk1 peut m'expliquer :
> > > ? format$(cdate(format(cdate("31/12/2999"),"DD/MM/YY")),"DD/MM/YYYY") = 31/12/1999 ??
> > >
> > > Moi je trouve pas ca logique du tout !!!
> > >
> > > Sygale
> > > sygale@ifrance.com
> >
>