je m'arrache les cheveux sur un problème simple :
je ne comprends pas comment fonctionne l'instruction Mod (modulo).
Dans l'aide du VBE, il est dit :
result = number1 Mod number2
L'opérateur modulo, ou reste, divise l'argument number1 par l'argument
number2 (en arrondissant les nombres à virgules flottantes à des nombres
entiers) et ne retourne que le reste dans l'argument result
dans l'exemple ci-dessous, A (argument result) est égal à 5.
A = 19 Mod 6.7Or, avec ma petite calculatrice, (parce que depuis 5 minutes,
je boude Excel...), j'obtiens :19/6,7 = 2,83582208Et je ne comprends pas
comme Excel trouve 5... Qu'est-ce que "le reste" comme il l'appelle ?Merci à
toute âme charitable et compatissant à mon malheur...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Microsoft VBA Excel
Une fois que la bonne âme aura réussi à me réconcillier avec Mod, je cherche à savoir si deux valeurs sont multiples.
On m'a donné sur ce forum (et je remercie) le code :
if var1 mod var2=0 then "multiple" else "pas multiple" end if
ça fonctionne bien pour des valeurs qui n'ont pas de virgule. Cependant, j'ai des cas avec virgule qui ne fonctionnent pas...
exemple, 36,58 n'est pas multiple de 36,59 or 36.58 mod 36.59 = 0
Merci d'avance bonne âme !
"Microsoft VBA Excel" a écrit dans le message de news: %
Salut à tous,
je m'arrache les cheveux sur un problème simple : je ne comprends pas comment fonctionne l'instruction Mod (modulo). Dans l'aide du VBE, il est dit :
result = number1 Mod number2 L'opérateur modulo, ou reste, divise l'argument number1 par l'argument number2 (en arrondissant les nombres à virgules flottantes à des nombres entiers) et ne retourne que le reste dans l'argument result
dans l'exemple ci-dessous, A (argument result) est égal à 5. A = 19 Mod 6.7Or, avec ma petite calculatrice, (parce que depuis 5 minutes, je boude Excel...), j'obtiens :19/6,7 = 2,83582208Et je ne comprends pas comme Excel trouve 5... Qu'est-ce que "le reste" comme il l'appelle ?Merci à toute âme charitable et compatissant à mon malheur...
Une fois que la bonne âme aura réussi à me réconcillier avec Mod,
je cherche à savoir si deux valeurs sont multiples.
On m'a donné sur ce forum (et je remercie) le code :
if var1 mod var2=0 then
"multiple"
else
"pas multiple"
end if
ça fonctionne bien pour des valeurs qui n'ont pas de virgule.
Cependant, j'ai des cas avec virgule qui ne fonctionnent pas...
exemple, 36,58 n'est pas multiple de 36,59
or 36.58 mod 36.59 = 0
Merci d'avance bonne âme !
"Microsoft VBA Excel" <gg.aa@free.fr> a écrit dans le message de news:
%23DnVCRkhGHA.4712@TK2MSFTNGP05.phx.gbl...
Salut à tous,
je m'arrache les cheveux sur un problème simple :
je ne comprends pas comment fonctionne l'instruction Mod (modulo).
Dans l'aide du VBE, il est dit :
result = number1 Mod number2
L'opérateur modulo, ou reste, divise l'argument number1 par l'argument
number2 (en arrondissant les nombres à virgules flottantes à des nombres
entiers) et ne retourne que le reste dans l'argument result
dans l'exemple ci-dessous, A (argument result) est égal à 5.
A = 19 Mod 6.7Or, avec ma petite calculatrice, (parce que depuis 5
minutes, je boude Excel...), j'obtiens :19/6,7 = 2,83582208Et je ne
comprends pas comme Excel trouve 5... Qu'est-ce que "le reste" comme il
l'appelle ?Merci à toute âme charitable et compatissant à mon malheur...
Une fois que la bonne âme aura réussi à me réconcillier avec Mod, je cherche à savoir si deux valeurs sont multiples.
On m'a donné sur ce forum (et je remercie) le code :
if var1 mod var2=0 then "multiple" else "pas multiple" end if
ça fonctionne bien pour des valeurs qui n'ont pas de virgule. Cependant, j'ai des cas avec virgule qui ne fonctionnent pas...
exemple, 36,58 n'est pas multiple de 36,59 or 36.58 mod 36.59 = 0
Merci d'avance bonne âme !
"Microsoft VBA Excel" a écrit dans le message de news: %
Salut à tous,
je m'arrache les cheveux sur un problème simple : je ne comprends pas comment fonctionne l'instruction Mod (modulo). Dans l'aide du VBE, il est dit :
result = number1 Mod number2 L'opérateur modulo, ou reste, divise l'argument number1 par l'argument number2 (en arrondissant les nombres à virgules flottantes à des nombres entiers) et ne retourne que le reste dans l'argument result
dans l'exemple ci-dessous, A (argument result) est égal à 5. A = 19 Mod 6.7Or, avec ma petite calculatrice, (parce que depuis 5 minutes, je boude Excel...), j'obtiens :19/6,7 = 2,83582208Et je ne comprends pas comme Excel trouve 5... Qu'est-ce que "le reste" comme il l'appelle ?Merci à toute âme charitable et compatissant à mon malheur...
Gilles MOUGNOZ
Une fois que la bonne âme aura réussi à me réconcillier avec Mod, je cherche à savoir si deux valeurs sont multiples. On m'a donné sur ce forum (et je remercie) le code : if var1 mod var2=0 then "multiple" else "pas multiple" end if ça fonctionne bien pour des valeurs qui n'ont pas de virgule. Cependant, j'ai des cas avec virgule qui ne fonctionnent pas... exemple, 36,58 n'est pas multiple de 36,59 or 36.58 mod 36.59 = 0 Merci d'avance bonne âme !
Salut à tous, je m'arrache les cheveux sur un problème simple : je ne comprends pas comment fonctionne l'instruction Mod (modulo). Dans l'aide du VBE, il est dit : result = number1 Mod number2 L'opérateur modulo, ou reste, divise l'argument number1 par l'argument number2 (en arrondissant les nombres à virgules flottantes à des nombres entiers) et ne retourne que le reste dans l'argument result dans l'exemple ci-dessous, A (argument result) est égal à 5. A = 19 Mod 6.7Or, avec ma petite calculatrice, (parce que depuis 5 minutes, je boude Excel...), j'obtiens :19/6,7 = 2,83582208Et je ne comprends pas comme Excel trouve 5... Qu'est-ce que "le reste" comme il l'appelle ?Merci à toute âme charitable et compatissant à mon malheur...
Bonjour, "Microsoft VBA Excel"
A la base, le modulo sert à donner le reste entier d'une division entière. Qu'est-ce que le reste, me diras-tu ? En reprenant ton exemple (19 mod 6,7): 1) on commence par arrondir 6,7 à l'entier le plus proche, soit 7; 2) on enlève 7 à 19 jusqu'à ce que le résultat soit inférieur à 7; 3) c'est ce dernier résultat que la fonction renvoie, soit: 19-7-7=5 On peut également traduire cela par : 19 = 7*2 + 5 où 2 est le résultat de la division entière ( opérateur ) et 5 est le reste de la division entière ( opérateur mod ).
Pour ce qui est de la fonction permettant de savoir si un nombre est multiple d'un autre, essaie de remplacer le test par: If CInt(var1/var2) = var1/var2 Then
Bonne continuation
Une fois que la bonne âme aura réussi à me réconcillier avec Mod,
je cherche à savoir si deux valeurs sont multiples.
On m'a donné sur ce forum (et je remercie) le code :
if var1 mod var2=0 then
"multiple"
else
"pas multiple"
end if
ça fonctionne bien pour des valeurs qui n'ont pas de virgule.
Cependant, j'ai des cas avec virgule qui ne fonctionnent pas...
exemple, 36,58 n'est pas multiple de 36,59
or 36.58 mod 36.59 = 0
Merci d'avance bonne âme !
Salut à tous,
je m'arrache les cheveux sur un problème simple :
je ne comprends pas comment fonctionne l'instruction Mod (modulo).
Dans l'aide du VBE, il est dit :
result = number1 Mod number2
L'opérateur modulo, ou reste, divise l'argument number1 par l'argument
number2 (en arrondissant les nombres à virgules flottantes à des nombres
entiers) et ne retourne que le reste dans l'argument result
dans l'exemple ci-dessous, A (argument result) est égal à 5.
A = 19 Mod 6.7Or, avec ma petite calculatrice, (parce que depuis 5
minutes, je boude Excel...), j'obtiens :19/6,7 = 2,83582208Et je ne
comprends pas comme Excel trouve 5... Qu'est-ce que "le reste" comme il
l'appelle ?Merci à toute âme charitable et compatissant à mon malheur...
Bonjour, "Microsoft VBA Excel"
A la base, le modulo sert à donner le reste entier d'une division entière.
Qu'est-ce que le reste, me diras-tu ?
En reprenant ton exemple (19 mod 6,7):
1) on commence par arrondir 6,7 à l'entier le plus proche, soit 7;
2) on enlève 7 à 19 jusqu'à ce que le résultat soit inférieur à 7;
3) c'est ce dernier résultat que la fonction renvoie, soit: 19-7-7=5
On peut également traduire cela par : 19 = 7*2 + 5 où 2 est le résultat de
la division entière ( opérateur ) et 5 est le reste de la division entière
( opérateur mod ).
Pour ce qui est de la fonction permettant de savoir si un nombre est
multiple d'un autre, essaie de remplacer le test par:
If CInt(var1/var2) = var1/var2 Then
Une fois que la bonne âme aura réussi à me réconcillier avec Mod, je cherche à savoir si deux valeurs sont multiples. On m'a donné sur ce forum (et je remercie) le code : if var1 mod var2=0 then "multiple" else "pas multiple" end if ça fonctionne bien pour des valeurs qui n'ont pas de virgule. Cependant, j'ai des cas avec virgule qui ne fonctionnent pas... exemple, 36,58 n'est pas multiple de 36,59 or 36.58 mod 36.59 = 0 Merci d'avance bonne âme !
Salut à tous, je m'arrache les cheveux sur un problème simple : je ne comprends pas comment fonctionne l'instruction Mod (modulo). Dans l'aide du VBE, il est dit : result = number1 Mod number2 L'opérateur modulo, ou reste, divise l'argument number1 par l'argument number2 (en arrondissant les nombres à virgules flottantes à des nombres entiers) et ne retourne que le reste dans l'argument result dans l'exemple ci-dessous, A (argument result) est égal à 5. A = 19 Mod 6.7Or, avec ma petite calculatrice, (parce que depuis 5 minutes, je boude Excel...), j'obtiens :19/6,7 = 2,83582208Et je ne comprends pas comme Excel trouve 5... Qu'est-ce que "le reste" comme il l'appelle ?Merci à toute âme charitable et compatissant à mon malheur...
Bonjour, "Microsoft VBA Excel"
A la base, le modulo sert à donner le reste entier d'une division entière. Qu'est-ce que le reste, me diras-tu ? En reprenant ton exemple (19 mod 6,7): 1) on commence par arrondir 6,7 à l'entier le plus proche, soit 7; 2) on enlève 7 à 19 jusqu'à ce que le résultat soit inférieur à 7; 3) c'est ce dernier résultat que la fonction renvoie, soit: 19-7-7=5 On peut également traduire cela par : 19 = 7*2 + 5 où 2 est le résultat de la division entière ( opérateur ) et 5 est le reste de la division entière ( opérateur mod ).
Pour ce qui est de la fonction permettant de savoir si un nombre est multiple d'un autre, essaie de remplacer le test par: If CInt(var1/var2) = var1/var2 Then
Bonne continuation
AV
| exemple, 36,58 n'est pas multiple de 36,59 | or 36.58 mod 36.59 = 0
Utilise la fonction de feuille de calcul et la méthode Evaluate :
Voir les différences de résultats entre la fonction vba et la fonction de feuille de calcul :