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

XL 2019 Excel semble se tromper...!!

Ghassen

XLDnaute Nouveau
Bonjour à tous

Ci joint un fichier simple avec des données colonne B:B à classer par Rang

comme il y'a des valeurs qui se répètent et que je souhaite avoir des rang sans répitition, j'utilise la fonction suivante
=SI(NB.SI(B$3:B3;B3)>1;RANG(B3;B:B;0)+NB.SI(B$3:B3;B3)-1;RANG(B3;B:B;0))

ça marche et a marché à tous les couts sur une centaines de valeurs sans aucun soucis, sauf pour un cas particulier, en PJ..

les lignes 103 et 104 ayant la même valeur 0.288
là ça marche plus, le rang saute l'odre 101 et affiche 2 fois le rang 102

bref j'y comprends plus rien car quand j'écris les mêmes valeurs manuellement (0.288) la fonction comme par magie marche sans soucis (ces valeurs viennent en fait d'un autre calcul à la base..)

en tt cas svp en PJ le tableau, vérifier par vous même et me dire car je n'ai aucune explication sauf que Excel (et j'aime pas le dire) déconne..!

Merci pour votre aide
 

Pièces jointes

  • what.xlsx
    16.7 KB · Affichages: 8

Ghassen

XLDnaute Nouveau
pour le moment j'ai du contourner ça avec un code

'''' trier

Lafeuille.[C4:U400].Sort Key1:=[I3], Order1:=xlDescending, Header:=xlNo
For i = 4 To FinList
Lafeuille.Range("G" & i) = i - 3
Next

mais je reste curieux...
 

Ghassen

XLDnaute Nouveau
Bonsoir JHA

Merci pour ta réponse.
Je n'ai pas compris excuse moi

c'est à dire il faut que ça soit en format tableau... ?
car à part l'ajout de la colonne et la transformation de mon tableau en format tableau, j'ai pas vu de changement
et pourtant ça marche
tu peux m'expliquer stp?
merci bien
 

eriiic

XLDnaute Barbatruc
Bonjour à tous,

pour t'aider à comprendre saisis cette formule en G103, tu verras que tes valeurs ne sont pas égales.
=B103-0.288-0 =>0
tirée sur la ligne en-dessous tu trouves => 5.55112E-17 (format Standard)

C'est dû à la représentation binaire d'un décimal qui ne tombes pas juste et il y a une perte de précision.
Avec un arrondi de tes valeurs tu peux corriger ça :
=ARRONDI(B3;12)
et travailler sur ces nouvelles valeurs
Dans le fichier j'ai mis l'arrondi en B pour ne pas à avoir à reprendre tes formules
eric
 

Pièces jointes

  • what.xlsx
    18 KB · Affichages: 3
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…