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

API, COM et SDKs Delphi Discussion :

Sauvegarde problématique sous excel par OLE


Sujet :

API, COM et SDKs Delphi

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2003
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 24
    Points : 22
    Points
    22
    Par défaut Sauvegarde problématique sous excel par OLE
    Bonjour tout le monde!!

    voila, je vous expose mon problème :
    je travaille sur un logiciel qui ouvre un fichier excel et qui le met dans une stringgrid. Les données peuvent etre ensuite modifié dans la stringgrid puis j'ai fait une fonction qui permet de réenregistrer (cellule par cellule) les données de ma stringgrid.

    Le problème rencontré est le suivant : pendant l'enregistrement, certaines données de la forme (extended) :

    187,123
    deviennent

    187123

    La ou je comprends encore moins ce qui se passe, c'est que ce sont uniquement les valeurs à 3 chifres et plus apres la virgule qui sont affecté
    Les valeurs ayant 2 chiffres et moins apres la virgule ne sont pas affectée

    j'utilise ce code pour enregistrer cellules par cellules
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        Cell := Worksheet.Range[Range]; //range indique les cellules
        value:=stringgrid1.Cells[i-1,j] ;
        cell.value:=value ;

    voila, si quelq'un comprends ce qui se passe !!!??

    je vous remercie d'avance de vos réponse!!!!
    @ + et bonne continuation a tout le monde!!
    delphi 3,6,7;win 2000, red hat 9;
    _______________________________
    http://delphi.redkernel-softwares.com

  2. #2
    Futur Membre du Club
    Inscrit en
    Juin 2002
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 9
    Points : 9
    Points
    9
    Par défaut
    As-tu commencé par essayer de visualiser ces informations dans un showMessage tout bête avant de les transférer, afin de déterminer si c'est lorsque tu les extrais ou lorsque tu les écris qu'il y a un problème.
    Si c'est bel et bien pendant l'écriture que survient le problème, je regarderais le format des cases de la cellule de réception, je ne vois pas de problème particulier qui pourrait survenir (à part un problème entre conversion numérique et chaine)
    Personnelement je convertirais sous delphi au format entier avant d'écrire dans la cellule
    Sinon pour les formats tu peux jeter un coup d'oeil à mon formatage, je ne sais pas en faire plus :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
                Sheet.Range['C'+intToStr(CurrentLine)].NumberFormat := '@';
                Sheet.Range['C'+intToStr(CurrentLine)].HorizontalAlignment := xlRight;
    avec xlRight une constante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    const
          xlRight = -4152; // Constante permettant l'alignement à droite
    Si cela peut t'aider...
    --- N'oubliez pas de cliquer sur le bouton [Résolu] le cas échéant ---

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2003
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 24
    Points : 22
    Points
    22
    Par défaut ca marche !!!!!
    Merci beaucoup pour ton aide, c'est formidable... ca marche... cela venait en effet du formatage préalables des cellules.


    Encore un grand merci et bonne continuation!!!
    delphi 3,6,7;win 2000, red hat 9;
    _______________________________
    http://delphi.redkernel-softwares.com

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

Discussions similaires

  1. Sauvegarde de classeur excel par boite de dialogue excel
    Par Vincent32 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 28/02/2012, 18h57
  2. [Lazarus] Sélectionner Feuil2 d'un classeur Excel par OLE
    Par Yoanben dans le forum Lazarus
    Réponses: 2
    Dernier message: 02/04/2010, 13h28
  3. [Lazarus] Insérer une ligne dans un fichier Excel par OLE
    Par Yoanben dans le forum Lazarus
    Réponses: 0
    Dernier message: 01/04/2010, 07h49
  4. fermeture de excel par ole
    Par sbeu dans le forum Langage
    Réponses: 3
    Dernier message: 04/09/2008, 21h49

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