Arrondi personnalise

Bonjour à vous!

je voudrais savoir s'il n'ya pas une fonction VBA ou excel permettant d'effectuer cette opération:

si ti =< 0.125 alors ti=0

si ti =< 0.375 alors ti=0.25

si ti =< 0.625 alors ti=0.5

si ti =< 0.875 alors ti=0.75

sinon ti=1

et tout ça sans utiliser la condition if

Bonsoir,

Peut-être ainsi :

=INDEX({0;0,25;0,5;0,75;1};EQUIV(A1;{0;0,126;0,376;0,626;0,876};1))

en supposant que la valeur à tester est en cellule A1

Bonne soirée

bonsoir et bravo à cousinhub !!

il faut que je travail mes index et equiv qui font LA paire pour les recherches !!!!

moi je vous propose une autre méthode... RechercheV avec comme "indice" VRAI

@ bientôt

LouReeD

36arrondi.xlsx (8.95 Ko)

Re-,

Quoique si la valeur va au delà de la 4ème décimale, vaut mieux privilégier celle-ci :

=INDEX({1;0,75;0,5;0,25;0};EQUIV(A1;{2;0,875;0,625;0,375;0,125};-1))

En supposant que la valeur max soit inférieure à 2, sinon il faudra adapter...

Bonne soirée

Edit : Bonsoir Lou Reed

Bonsoir le forum,

=CHOISIR(EQUIV(A1;{0;0,125;0,375;0,625;0,875});0;0,25;0,5;0,75;1)
arrondis

Bonsoir,

en fait c'est ce que l'on dit...

il faut 0.876 dans le tableau index equiv pour que 0.875 reste à 0.75 !

de même pour toutes les valeurs intermédiaires !!!

@ bientôt

LouReeD

LouReeD a écrit :

en fait c'est ce que l'on dit...

il faut 0.876 dans le tableau index equiv pour que 0.875 reste à 0.75 !

de même pour toutes les valeurs intermédiaires !!!

Quelle assurance !!!

Je n'ai pas la même lecture.

si ti =< 0.875 alors ti=0.75

Le "=" signifie ici "est"

C'est # de si ti <=

Ou formule "arrondi.au.multiple" au quart de point :

=ARRONDI.AU.MULTIPLE(A1;0,25)
mbbp a écrit :
LouReeD a écrit :

Je n'ai pas la même lecture.

si ti =< 0.875 alors ti=0.75

Le "=" signifie ici "est"

C'est # de si ti <=

Autant pour moi je voulais plutôt dire <=

L'énoncé est plus clair ainsi.

Sinon une autre solution était possible :

=ARRONDI(A1*4;0)/4

merci à tous!!! chacune de vos rponse m'ont vraiment sauvé la mise sur ce coup!!!

pour mbbp

Quand je lis dans l'énoncé de la question

si ti =< 0.875 alors ti=0.75

sinon ti=1

et que dans votre réponse on voit :

arrondis

où il est écrit :

ti= 0.875 donc ti =1

alors qu'au dessus on disait que dans les formules il fallait mettre :

=INDEX({0;0,25;0,5;0,75;1};EQUIV(A1;{0;0,126;0,376;0,626;0,876};1))

c'est à dire 0.876 pour être à 1

du coup 0.875 était à 0.75...

C'est plus ça que je disais... sans assurance aucune

pour moi il y avait une petite erreur de votre part car votre image montrait 0.875 à 1 au lieu de 0.75.

@ bientôt

LouReeD

si ti =< 0.875 alors ti=0.75

Comme déjà expliqué : l'énoncé permettait deux interprétations.

Dans une discussion il faut rester prudent et ne pas affirmer que sa propre proposition est la bonne.

Et, généralement, je laisse au demandeur le privilège de donner son verdict.

Attention pas d'assurance n'y de méchanceté ici de ma part, ne nous y trompons pas

mais ici c'est un forum VBA avec dans les codes beaucoup de test de valeur par rapport à d'autre, et pour moi et moi seul quand vous écrivez ceci :

Le "=" signifie ici "est"

C'est # de si ti <=

c'est un peu se torturer l'esprit, non ? Alors oui les signes sont inversés par rapport à une écriture correcte de langage, mais ne sommes nous pas sur un forum où l'on demande de l'aide et qu'il est possible de faire des fotes de frappe

Alors oui mea-culpa d'avoir eu autant d'assurance sur ma façon de lire le post.

je ne recommencerais plus...

@ bientôt

LouReeD

LouReeD a écrit :

mais ne sommes nous pas sur un forum où l'on demande de l'aide et qu'il est possible de faire des fotes de frappe

Sans rancune.

Bonne soirée.

fotes de frappe

le clin d'œil... à priori vous ne l'avez pas interprété "correctement"...

en effet il était là pour la fote, justement (encore une fois...)

pas de rancunes, nous sommes là pour aider bien que je ne sois pas un grand expert...

Je reviens sur l'histoire de la faute de faute, regardez bien, la correction le souligne en rouge, alors ? et bien oui le clin d'œil était là pour ça...

D'ailleurs LouReeD avec les majuscules provoque aussi une faute et je la laisse passée mais sans clin d'œil, sinon j'en fini pas !

@ bientôt

LouReeD

le clin d'œil... à priori vous ne l'avez pas interprété "correctement"...

en effet il était là pour la fote, justement (encore une fois...)

En effet mauvaise interprétation de ma part car je n'ai aucun sens de l'humour !

D'ailleurs LouReeD avec les majuscules provoque aussi une faute et je la laisse passée mais sans clin d'œil, sinon j'en fini pas !

Mais c'est encore peut-être une "fote" volontaire

non je dirais la fatigue peut-être

@ bientôt

LouReeD

Rechercher des sujets similaires à "arrondi personnalise"