Pourquoi 1.20000004768371

Résolu/Fermé
BUDGETS Messages postés 1418 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 20 août 2024 - Modifié par BUDGETS le 29/01/2017 à 11:11
 momo - 29 janv. 2017 à 19:08
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 1418 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 20 août 2024
29 janv. 2017 à 11:44
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 lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 411
Modifié par Vaucluse le 29/01/2017 à 13:08
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 23193 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 septembre 2024 Ambassadeur 1 534
29 janv. 2017 à 14:01
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 24595 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 2 septembre 2024 7 234
29 janv. 2017 à 16:19
Bonjour,

et même As Currency tant qu'à faire
eric
0
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