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

Access Discussion :

pourquoi 0.8 devient 0,800000011920928 dans Excel ?


Sujet :

Access

  1. #1
    120
    120 est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 69
    Points : 62
    Points
    62
    Par défaut pourquoi 0.8 devient 0,800000011920928 dans Excel ?
    j'exporte une requete Access dans un fichier Excel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "MTA_TACHE_MAINTENANCE", "C:\Documents and Settings\client\Mes documents\MTA\MTA_TACHE_MAINTENANCE.xls"
    j'ai un champ dont la valeur est 0.8 dans Access et j'obtiens 0,800000011920928 dans Excel
    Y a t-il un moyen de remédier à celà ?
    Merci

  2. #2
    Futur Membre du Club
    Inscrit en
    Juillet 2005
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    Essaie un truc comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    Dim oAppExcel As Excel.Application
    Dim oClasseur As Excel.Workbook
    Dim oFeuille As Excel.Worksheet
    Dim oCell As Excel.Range
    Dim i As Integer
    Dim j As Integer
    Dim txtChemin As String
    Dim ValCells As Double
     
    'Ouvre le fichier excel
    Set oAppExcel = CreateObject("Excel.Application")
    Set oClasseur = oAppExcel.Workbooks.Open(txtChemin)
     
    'Sélectionne la première feuille
    Set oFeuille = oClasseur.Worksheets(1)
     
    'Arrondi les cellules de la colonne j
    While (oFeuille.Cells(i, j) <> "")
        ValCells = CDbl(oFeuille.Cells(i, j).Value)
        oFeuille.Cells(i, j).Value = Round(ValCells, 2)
        i = i + 1
    Wend
     
    'Ferme Excel
    oClasseur.Save
    oClasseur.Close
    oAppExcel.Quit

  3. #3
    120
    120 est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 69
    Points : 62
    Points
    62
    Par défaut
    oui merci ce pourrait être une idée...
    mais ce que je voudrais c'est si j'ai 0.8 dans access avoir 0.8 dans Excel
    masi si j'ai 0.826458 dans access je veux 0.826458 dans Excel

    donc ta solution ne convient pas vraiment....
    et puis j'exporte une douzaine de requète comme cela (qui ont chacune pas mal de lignes) alors ta solution risquerait de prendre du temps

    Je connaissais le pb avec les versions précédentes d'access et Excel mais je pensais qu'avec les nouvelles versions c'était réglé...

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    dans access les nombres double n'ont pas une précision parfaite
    il faut changer ton type de données à currency quitte à multiplier
    tes valeurs par 100 ou 1000
    Elle est pas belle la vie ?

  5. #5
    120
    120 est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 69
    Points : 62
    Points
    62
    Par défaut
    Oui la solution va venir de là merci
    En fait mon champ était en réèl simple, donc je le passe en double et une requète de mise à jour résoud mon pb

    merci

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

Discussions similaires

  1. Macro dans excel permettant de voir si un fichier est ouvert
    Par VirginieGE dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 12/08/2004, 07h51
  2. [VB6] sélection multiple de colonne dans excel grâce à VB
    Par biquet dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 02/08/2004, 12h44
  3. [VBA] Les propriétés de cellule dans Excel
    Par Kylen dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 05/07/2004, 23h02
  4. [VBA-E] Ajouter des fonctions dans Excel
    Par Clezio dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/03/2004, 01h18
  5. [EXCEL]Modifier les marges d'une page dans Excel
    Par ms91fr dans le forum Composants VCL
    Réponses: 4
    Dernier message: 06/01/2004, 15h26

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