Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Selon chiffre saisi, signalement d'une erreur dans une formule

USTY_56

XLDnaute Nouveau
Bonjour.
Je viens de créer un fichier pour suivre des opérations bancaires, écritures en débit et crédit
et état de rapprochement avec relevé bancaire. ( voir fichier joint)
Ce fichier comporte en colonne A une date, en B un libellé , en C Montant débit, en D montant crédit,
en E colonne pour pointage avec extrait bancaire, en F solde, en G montant non débité, en H montant non crédité.
En ligne 47 apparait le total des opérations
En ligne 49 colonne G , il est saisi le solde du compte apparaissant sur extrait compte bancaire
En ligne 50 colonne H apparait le résultat de l'état de rapprochement " AJUST OK ou ERREUR" selon résultat de la formule.
Si je saisis en D34 la somme de 97.04 , en H50 apparait "AJUST OK " et en F47 toutes décimales après 03 sont à 0
Si je saisis en D34 la somme de 97.03 , en H50 apparait "ERREUR" et en F47 apparait le chiffre 1 en 12ème décimale.
Je ne m'explique pas cette anomalie ,sachant que les champs numériques sont tous formatés à 2 chiffres après la virgule.
La seule solution que j'ai trouvée et qui n'est pas satisfaisante , est de saisir 97.031 pour que le résultat de la formule en H50 soit "AJUST OK".
je m'en remets à la collectivité pour m'expliquer pourquoi cette anomalie.
Merci à tous
 

Pièces jointes

  • Classeur1 TEST.xlsx
    19.5 KB · Affichages: 6

Dranreb

XLDnaute Barbatruc
Bonjour.
En H50 :
Code:
=SI(ABS(G50-F47)<0,001;"AJUST OK";"ERREUR")
Quant au pourquoi de ces anomalie, vous les trouverez probablement dans ce classeur :
 

Pièces jointes

  • ValeursExcelVsVBA.xlsm
    89.6 KB · Affichages: 8
Dernière édition:

Dranreb

XLDnaute Barbatruc
Des arrondis peuvent un peu atténuer ces effets :
En C47, à propager sur 2 colonnes :
Code:
=ARRONDI(SOMME(C4:C46);2)
En F47 :
Code:
=ARRONDI(F3-C47+D47;2)
En G50 :
Code:
=ARRONDI(G49-G47+H47;2)
En F4, à propager sur 31 lignes :
Code:
=SI($A4="";"";ARRONDI(DECALER(F4;-1;0)+$D4-$C4;2))
Mais même arrondies, ces valeurs ne seront pas enregistrées exactement telles qu'affichées.
La valeur la plus proche possible de 466,44, par exemple c'est 466,43999999999999772626324556767940521240234375 soit 8205699258557399 / 2^44
 
Dernière édition:

USTY_56

XLDnaute Nouveau
Merçi beaucoup pour les solutions
 

Discussions similaires

Réponses
45
Affichages
4 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…