IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 Delphi Discussion :

Date exportée vers Excel


Sujet :

Delphi

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 162
    Points : 124
    Points
    124
    Par défaut Date exportée vers Excel
    Bonjour,

    Mon programme, qui exporte vers Excel des évènements horodatés, marchait très bien le mois dernier.
    Aujourd'hui, nous sommes le 01/12/2013, et Excel m'affiche 12/01/2013.
    Impossible de lui faire afficher le jour et le mois dans le bon ordre.

    J'ai essayé ceci:
    sheet.Cells[1, 1].numberformat:='Standard';
    sheet.Cells[1, 1]:= '01/12/13 13:31';

    Rien à faire, j'obtiens toujours 12/01 au lieu de 01/12 dans Excel.
    De quel droit Excel s'arroge-t-il la permission d'interpréter un texte que je lui envoie ?

    Pourtant, si je fixe dans Excel le mode de cellule "Standard" et que je colle la date directement par un copier/coller, cette erreur ne se produit pas.

    Si quelqu'un connaît la solution, je l'en remercie d'avance.

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 021
    Points : 40 934
    Points
    40 934
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    Essayes en utilisant la notation internationale de format de date
    pour une date "à la française" dd.mm.yyyy
    "à l'anglaise" mm/dd/yyyy <= voilà pourquoi excel " s'arroge la permission d'interpréter un texte " pour un format 'standard'

    cela ne se produit pas dans Excel , car celui ci , lancé sait quel est le format que tu utilises sur ton poste soit dd/mm/yyyy
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 162
    Points : 124
    Points
    124
    Par défaut
    Merci de m'avoir répondu.
    Hélas, ta solution ne fonctionne pas non plus (il affiche "dd.mm", ou des #).

    Il y a quand même des choses "pas claires" avec ces histoires de numberformat sur Excel:

    si je fais "sheet.Cells[1, 1].numberformat:='@';" (qui spécifie le format texte), il affiche "64" au lieu de la date (seulement à partir du 01/12, les dates antérieures sont affichées correctement).
    Pourquoi donc affiche-t-il le code ascii du format ?

    Bon, j'ai contourné le problème en fixant le numberformat sur Standard, et en ajoutant un espace avant et après la date et l'heure. De cette façon, il considère bien que c'est une chaîne de caractères et affiche correctement la date et l'heure.
    Ce n'est pas une solution très élégante, mais, au moins, elle évite les décisions arbitraires d'Excel, et permet de ne pas avoir à se préoccuper des options régionales.

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 021
    Points : 40 934
    Points
    40 934
    Billets dans le blog
    62
    Par défaut
    on s'est pas compris quand je disais
    Essayes en utilisant la notation internationale de format de date
    pour une date "à la française" dd.mm.yyyy
    je voulais dire essayes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sheet.Cells[1, 1]:= '01.12.2013 13:31';
    ou peut être
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sheet.Cells[1, 1]:= '01-12-2013 13:31';
    pour ce qui est de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sheet.Cells[1, 1].numberformat:='Standard';
    je ne sais pas ce qu'il faut mettre à la place , mes exports se font généralement vers OpenOffice
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 162
    Points : 124
    Points
    124
    Par défaut
    Ah, effectivement, cette solution (avec les points) fonctionne.
    Merci !

    Par contre, la solution avec les tirets ne fonctionne pas (toujours inversion jour et mois).

    Mais en fait, je pense que ça marche parce que le point n'est pas reconnu par Excel comme un caractère valide dans une date, et donc il considère que c'est une chaîne de caractères sans format particulier.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Format de date lors export vers Excel
    Par Celia1303 dans le forum Access
    Réponses: 7
    Dernier message: 19/12/2006, 08h23
  2. Exporter vers Excel, et créer automatiquement un graphe
    Par NiKKiLLeR dans le forum Windows
    Réponses: 2
    Dernier message: 10/02/2005, 20h02
  3. Export vers Excel et saut de ligne dans cellule
    Par sbeu dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 16/08/2004, 16h53
  4. [CR] Exportation vers Excel
    Par djamel64 dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 01/12/2003, 15h52
  5. exportation vers excel
    Par Pm dans le forum XMLRAD
    Réponses: 3
    Dernier message: 24/01/2003, 15h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo