Pourquoi 1.20000004768371

Résolu
BUDGETS Messages postés 1607 Date d'inscription   Statut Membre Dernière intervention   -  
 momo -
Bonjour à toutes et à tous
Bonne et heureuse année à toutes et à tous. Que cette année vous apporte beaucoup de plaisir, de joie, de bonheur, la réalisation de vos vœux les plus chers.
Fichier ESPECES 2017 : feuille saisie opérations numéraires : lignes Prix unitaire, quantité, total : 1.20 apparaît bien avec deux chiffres après la virgule et rien d'autre. Feuille opérations numéraires : cellules J4 et L4 1.20 devient 120000004768371 : pourquoi ? Qui va pouvoir me dire où se produit l'erreur. J'ai dû, malencontreusement, modifier quelque chose pour que 1,20 devienne ce qu'il est dans la feuille opérations numéraires. Évidemment, les contrôles deviennent faux puisque 1,20 est devenu 1,20000004768371. Partout, normalement, le format est en nombre à 2 décimales avec utiliser le séparateur de milliers (sauf pour le numéro du ticket). J'ai essayé également avec Excel 2007, tant sur mon portable que sur mon pc de bureau, le même phénomène se produit. Ci-dessous le fichier ESPECES 2017.xlsm.
https://www.cjoint.com/c/GADkh4Fbyny
D'avance, merci pour votre aide précieuse (en cas de manipulations à effectuer, merci de me les détailler en détail, n'étant pas un expert informaticien).
Bonnes journée et continuation à toutes et à tous.
BUDGETS

3 réponses

BUDGETS Messages postés 1607 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour Vaucluse,

Ces valeurs ont copiées directement à partir des saisies effectuées dans la feuille saisie opérations numéraires.
0
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 438
 
vI, j'ai vu ça trop tard,et j'ai retiré mon message, mais je ne suis pas assez bon en VBA pour expliquer le problème.
Tout ce que je peux dire c'est que dans la macro, si vous évitez de passer par cette déclaration, ça semble aller mieux,ainsi cette ligne testée pour enregistrer la valeur de B12
ActiveCell.Offset(0, 9).Value = Range("'Saisie opérations numéraires'!B12").Value
donne un résultat à priori exact en J4
Mais ne me demandez pas pourquoi :-???.
crdlmnt
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 583
 
bonjour, Je vois que tu as déclaré tes variables numériques comme "single", je te suggère de les déclarer comme "double".
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 273
 
Bonjour,

et même As Currency tant qu'à faire
eric
0
momo
 
Bonjour
maco copie,transpose
Sub Enregistrement_opérations_numéraires()
Dim Sh As Worksheet
Dim Nlig As Long
Set Sh = Sheets("Opérations numéraires")
Nlig = Sh.Cells(Rows.Count, 2).End(xlUp).Row + 1
Application.ScreenUpdating = False
    Range("B3:B17").Copy
    Sh.Range("A" & Nlig).PasteSpecial xlPasteValues, , , True
    Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub

A+
Maurice
-2