Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1138 connectés 

 



Dernière réponse
Sujet : \ et Mod qui ne fonctionnent pas
MaybeEijOrNot Si tu veux diviser des nombres décimaux par des entiers tu peux commencer par soustraire et stocker tes décimales puisqu'elles ne joueront que sur le reste.
Tu prends ton nombre décimal, tu le tronques, en soustrayant ton nombre décimal par sa troncature tu obtiens une partie du reste qu'il suffira d'ajouter à ton reste.

 

Si tu veux diviser par autre chose qu'un entier, tu multiplies ton dividende et ton diviseur par 10 à la puissance du nombre de décimales (du diviseur) pour obtenir un entier. Ensuite en appliquant le mod tu obtiendras le bon quotient, mais il faudra diviser ton reste par "10 à la puissance du nombre de décimales (du diviseur)".

 

Tu peux mixer ces deux techniques pour parer à tous les cas.

 

EDIT : en VBA tu peux aussi appeler les fonctions des feuilles de calcul via l'objet "WorksheetFunction" https://docs.microsoft.com/fr-fr/of [...] sual-basic


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
MaybeEijOrNot Si tu veux diviser des nombres décimaux par des entiers tu peux commencer par soustraire et stocker tes décimales puisqu'elles ne joueront que sur le reste.
Tu prends ton nombre décimal, tu le tronques, en soustrayant ton nombre décimal par sa troncature tu obtiens une partie du reste qu'il suffira d'ajouter à ton reste.

 

Si tu veux diviser par autre chose qu'un entier, tu multiplies ton dividende et ton diviseur par 10 à la puissance du nombre de décimales (du diviseur) pour obtenir un entier. Ensuite en appliquant le mod tu obtiendras le bon quotient, mais il faudra diviser ton reste par "10 à la puissance du nombre de décimales (du diviseur)".

 

Tu peux mixer ces deux techniques pour parer à tous les cas.

 

EDIT : en VBA tu peux aussi appeler les fonctions des feuilles de calcul via l'objet "WorksheetFunction" https://docs.microsoft.com/fr-fr/of [...] sual-basic

jpl38

P4board a écrit :

Bonjour, j'essaye d'utiliser \ et Mod en VBA sous Excel pour avoir la partie entière et la partie décimale. Quand mon nombre est entier, cela fonctionne, mais quand mon nombre est réel, ça ne fonctionne pas :
 
...


L'aide dans l'éditeur VBA d'Excel précise que les opérateurs \ et Mod arrondissent les opérandes à virgules en Byte, Integer ou Long avant exécution.
Dans ton exemple, 9.5 est arrondi à 10 avant le calcul du quotient et du reste.

P4board -
P4board Bonjour, j'essaye d'utiliser \ et Mod en VBA sous Excel pour avoir la partie entière et la partie décimale. Quand mon nombre est entier, cela fonctionne, mais quand mon nombre est réel, ça ne fonctionne pas :
 
9 \ 2 = 4
9 Mod 2 = 1
 
9.5 \ 2 = 5
9.5 Mod 2 = 0
 
9 \ 1 = 9
9 Mod 1 = 0
 
9.5 \ 1 = 10
9.5 Mod 1 = 0
 
Les fonctions QUOTIENT et MOD en feuille de calcul fonctionnent parfaitement.
 
Une idée ?
 
Merci,
 
Olivier.

Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR