Delphi : Problème de format de date - Delphi/Pascal - Programmation
MarshPosté le 09-08-2006 à 10:32:18
Bonjour, Dans une boucle Do while not eof je traite les enregistrements d'une table Paradox qui comporte un champ DATE. Je récupére certains enregistrements et je les met dans une feuille excel pour plus tard réaliser des traitements statistiques sous excel. Exemple de traitement dans le boucle while not eof Feuille.Cells(L,1) := IntToStr(Table.FieldByName('Numero').AsInteger); Feuille.Cells(L,2) := DateToStr(Table.FieldByName('DateJ').AsDateTime); Feuille.Cells(L,3) := ......................(L sert de compteur de lignes) Le PB est le suivant : L'extraction fonctionne correctement, mais dans le fichier Excel je trouve des dates qui sont au format jour/mois/annee (Paramètres France) et des dates qui sont au format mois/jour/année (Param AngloSaxon). Et ceci de façon tout a fait aléatoire Qui a déjà rencontré ce problème et comment le résoudre? Merci de votre aide.
Merci d'avance
PS : quelqu'un m'a donné cette réponse mais ça ne change toujours rien : Feuille.Cells(L,2) := FormatDateTime('dd mm yy hh:mm AM/PM',Table.FieldByName('DateJ').AsDateTime);
En fait du premier du mois au 12 les date sont écrite au format mm/jj/aa et quand on regarde le format de cellule excel elles sont au format jj/mm/aa, du coup quand on arrive au 13 du mois, Excel prend les jours pour des mois, et ne peut pas mettre un mois égal à 13 alors il passe au format standard, mais change quand même les dates en les faisait apparaître cette fois en jj/mm/aa.
Exemple : Format affiché -> Format de cellule 06/02/2003 -> jj/mm/aaaa 06/03/2003 -> jj/mm/aaaa 06/12/2003 -> jj/mm/aaaa 13/06/2003 -> Standard
Marsh Posté le 09-08-2006 à 10:32:18
Bonjour,
Dans une boucle Do while not eof je traite les enregistrements d'une table Paradox qui comporte un champ DATE. Je récupére certains enregistrements et je les met dans une feuille excel pour plus tard réaliser des traitements statistiques sous excel.
Exemple de traitement dans le boucle while not eof
Feuille.Cells(L,1) := IntToStr(Table.FieldByName('Numero').AsInteger);
Feuille.Cells(L,2) := DateToStr(Table.FieldByName('DateJ').AsDateTime);
Feuille.Cells(L,3) := ......................(L sert de compteur de lignes)
Le PB est le suivant :
L'extraction fonctionne correctement, mais dans le fichier Excel je trouve des dates qui sont au format jour/mois/annee (Paramètres France) et des dates qui sont au format mois/jour/année (Param AngloSaxon).
Et ceci de façon tout a fait aléatoire
Qui a déjà rencontré ce problème et comment le résoudre?
Merci de votre aide.
Merci d'avance
PS : quelqu'un m'a donné cette réponse mais ça ne change toujours rien :
Feuille.Cells(L,2) := FormatDateTime('dd mm yy hh:mm AM/PM',Table.FieldByName('DateJ').AsDateTime);
En fait du premier du mois au 12 les date sont écrite au format mm/jj/aa et quand on regarde le format de cellule excel elles sont au format jj/mm/aa, du coup quand on arrive au 13 du mois, Excel prend les jours pour des mois, et ne peut pas mettre un mois égal à 13 alors il passe au format standard, mais change quand même les dates en les faisait apparaître cette fois en jj/mm/aa.
Exemple :
Format affiché -> Format de cellule
06/02/2003 -> jj/mm/aaaa
06/03/2003 -> jj/mm/aaaa
06/12/2003 -> jj/mm/aaaa
13/06/2003 -> Standard
Voilà voilà