Bonjour je ne suis pas un gourou en math mais il me semble
que mod (le calcul du modulo d'un nombre) n'est pas tres
juste pour ne pas dire faux
le modulo est le reste de la division (mod(a;b) donne le
reste de la division de a par b ainsi mod(6;15)= 6
et mod(16;15) = 1 ca marche bien mais
mod(-6;15) donne un nombre negatif alors que cela devrait
etre 9 .. qu'en pensez vous ? es ce que je fais une erreur
ou bien es ce vba ?
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
Ricky [MVP]
Bonjour *Jacky Renaux* (et tous les lecteurs) | Bonjour je ne suis pas un gourou en math mais il me semble
Effectivement
| que mod (le calcul du modulo d'un nombre) n'est pas tres | juste pour ne pas dire faux
?
| le modulo est le reste de la division (mod(a;b) donne le | reste de la division de a par b ainsi mod(6;15)= 6 | et mod(16;15) = 1 ca marche bien mais | mod(-6;15) donne un nombre negatif alors que cela devrait | etre 9 .. qu'en pensez vous ? es ce que je fais une erreur | ou bien es ce vba ?
C'est toi. On ne parle pas de faire -6+15 qui donnerait effectivement 9 mais bien une division
15, dans -6, il y va 0 fois et il reste ... -6 inutilisés Souviens-toi dans une multiplication ou division + par + et - par - ça donne + Quand les deux signes sont différents ça donne -.
Bonjour *Jacky Renaux* (et tous les lecteurs)
| Bonjour je ne suis pas un gourou en math mais il me semble
Effectivement
| que mod (le calcul du modulo d'un nombre) n'est pas tres
| juste pour ne pas dire faux
?
| le modulo est le reste de la division (mod(a;b) donne le
| reste de la division de a par b ainsi mod(6;15)= 6
| et mod(16;15) = 1 ca marche bien mais
| mod(-6;15) donne un nombre negatif alors que cela devrait
| etre 9 .. qu'en pensez vous ? es ce que je fais une erreur
| ou bien es ce vba ?
C'est toi.
On ne parle pas de faire -6+15 qui donnerait effectivement 9 mais bien
une division
15, dans -6, il y va 0 fois et il reste ... -6 inutilisés
Souviens-toi dans une multiplication ou division + par + et - par - ça
donne +
Quand les deux signes sont différents ça donne -.
Bonjour *Jacky Renaux* (et tous les lecteurs) | Bonjour je ne suis pas un gourou en math mais il me semble
Effectivement
| que mod (le calcul du modulo d'un nombre) n'est pas tres | juste pour ne pas dire faux
?
| le modulo est le reste de la division (mod(a;b) donne le | reste de la division de a par b ainsi mod(6;15)= 6 | et mod(16;15) = 1 ca marche bien mais | mod(-6;15) donne un nombre negatif alors que cela devrait | etre 9 .. qu'en pensez vous ? es ce que je fais une erreur | ou bien es ce vba ?
C'est toi. On ne parle pas de faire -6+15 qui donnerait effectivement 9 mais bien une division
15, dans -6, il y va 0 fois et il reste ... -6 inutilisés Souviens-toi dans une multiplication ou division + par + et - par - ça donne + Quand les deux signes sont différents ça donne -.
Je voudrais apporter des precisions sur mon message si on fait dans une cellule =mod(-6;15) on trouve 9 qui est la bonne reponse mais dans une macro res = -6 mod 15 on obtient -6
pardon pour cette confusion mais j'aimerais bien connaitre d'ou vient l'erreur
jacky
-----Message d'origine----- Bonjour je ne suis pas un gourou en math mais il me semble
que mod (le calcul du modulo d'un nombre) n'est pas tres juste pour ne pas dire faux
le modulo est le reste de la division (mod(a;b) donne le reste de la division de a par b ainsi mod(6;15)= 6 et mod(16;15) = 1 ca marche bien mais mod(-6;15) donne un nombre negatif alors que cela devrait etre 9 .. qu'en pensez vous ? es ce que je fais une erreur
ou bien es ce vba ?
merci
jacky
.
Je voudrais apporter des precisions sur mon message
si on fait dans une cellule =mod(-6;15) on trouve 9 qui
est la bonne reponse
mais dans une macro res = -6 mod 15 on obtient -6
pardon pour cette confusion mais j'aimerais bien connaitre
d'ou vient l'erreur
jacky
-----Message d'origine-----
Bonjour je ne suis pas un gourou en math mais il me
semble
que mod (le calcul du modulo d'un nombre) n'est pas tres
juste pour ne pas dire faux
le modulo est le reste de la division (mod(a;b) donne le
reste de la division de a par b ainsi mod(6;15)= 6
et mod(16;15) = 1 ca marche bien mais
mod(-6;15) donne un nombre negatif alors que cela devrait
etre 9 .. qu'en pensez vous ? es ce que je fais une
erreur
Je voudrais apporter des precisions sur mon message si on fait dans une cellule =mod(-6;15) on trouve 9 qui est la bonne reponse mais dans une macro res = -6 mod 15 on obtient -6
pardon pour cette confusion mais j'aimerais bien connaitre d'ou vient l'erreur
jacky
-----Message d'origine----- Bonjour je ne suis pas un gourou en math mais il me semble
que mod (le calcul du modulo d'un nombre) n'est pas tres juste pour ne pas dire faux
le modulo est le reste de la division (mod(a;b) donne le reste de la division de a par b ainsi mod(6;15)= 6 et mod(16;15) = 1 ca marche bien mais mod(-6;15) donne un nombre negatif alors que cela devrait etre 9 .. qu'en pensez vous ? es ce que je fais une erreur
ou bien es ce vba ?
merci
jacky
.
Elfe Noir
Bonjour
parce que pour la fonction modulo (15) les chiffres "-6" et "+9" sont équivalents
"jacky renaux" a écrit dans le message de news:02db01c3ce07$03749210$
Je voudrais apporter des precisions sur mon message si on fait dans une cellule =mod(-6;15) on trouve 9 qui est la bonne reponse mais dans une macro res = -6 mod 15 on obtient -6
pardon pour cette confusion mais j'aimerais bien connaitre d'ou vient l'erreur
jacky
-----Message d'origine----- Bonjour je ne suis pas un gourou en math mais il me semble
que mod (le calcul du modulo d'un nombre) n'est pas tres juste pour ne pas dire faux
le modulo est le reste de la division (mod(a;b) donne le reste de la division de a par b ainsi mod(6;15)= 6 et mod(16;15) = 1 ca marche bien mais mod(-6;15) donne un nombre negatif alors que cela devrait etre 9 .. qu'en pensez vous ? es ce que je fais une erreur
ou bien es ce vba ?
merci
jacky
.
Bonjour
parce que pour la fonction modulo (15) les chiffres "-6" et "+9" sont
équivalents
"jacky renaux" <anonymous@discussions.microsoft.com> a écrit dans le message
de news:02db01c3ce07$03749210$a001280a@phx.gbl...
Je voudrais apporter des precisions sur mon message
si on fait dans une cellule =mod(-6;15) on trouve 9 qui
est la bonne reponse
mais dans une macro res = -6 mod 15 on obtient -6
pardon pour cette confusion mais j'aimerais bien connaitre
d'ou vient l'erreur
jacky
-----Message d'origine-----
Bonjour je ne suis pas un gourou en math mais il me
semble
que mod (le calcul du modulo d'un nombre) n'est pas tres
juste pour ne pas dire faux
le modulo est le reste de la division (mod(a;b) donne le
reste de la division de a par b ainsi mod(6;15)= 6
et mod(16;15) = 1 ca marche bien mais
mod(-6;15) donne un nombre negatif alors que cela devrait
etre 9 .. qu'en pensez vous ? es ce que je fais une
erreur
parce que pour la fonction modulo (15) les chiffres "-6" et "+9" sont équivalents
"jacky renaux" a écrit dans le message de news:02db01c3ce07$03749210$
Je voudrais apporter des precisions sur mon message si on fait dans une cellule =mod(-6;15) on trouve 9 qui est la bonne reponse mais dans une macro res = -6 mod 15 on obtient -6
pardon pour cette confusion mais j'aimerais bien connaitre d'ou vient l'erreur
jacky
-----Message d'origine----- Bonjour je ne suis pas un gourou en math mais il me semble
que mod (le calcul du modulo d'un nombre) n'est pas tres juste pour ne pas dire faux
le modulo est le reste de la division (mod(a;b) donne le reste de la division de a par b ainsi mod(6;15)= 6 et mod(16;15) = 1 ca marche bien mais mod(-6;15) donne un nombre negatif alors que cela devrait etre 9 .. qu'en pensez vous ? es ce que je fais une erreur
ou bien es ce vba ?
merci
jacky
.
Cyril Voisin [MS]
Bonjour.
Je suis d'accord avec vous. Si a=b.q+p alors a mod b vaut p. J'avoue ne plus très bien me souvenir de toutes ces définitions en ce qui concerne des "modulo" de nombres négatifs (c'est à dire b négatif). MOD() dans une feuille Excel et mod dans une routine VBA ne retournent pas la même chose si un des deux nombres a ou b est négatif. Cela est dû à leurs méthodes de calcul distinctes : http://support.microsoft.com/default.aspx?kbid!4271
-- Cordialement, cyrilv 3 étapes pour protéger votre PC : http://microsoft.com/france/securite/protection
"Jacky Renaux" a écrit dans le message de news:04c001c3cdfa$70daa040$
Bonjour je ne suis pas un gourou en math mais il me semble que mod (le calcul du modulo d'un nombre) n'est pas tres juste pour ne pas dire faux
le modulo est le reste de la division (mod(a;b) donne le reste de la division de a par b ainsi mod(6;15)= 6 et mod(16;15) = 1 ca marche bien mais mod(-6;15) donne un nombre negatif alors que cela devrait etre 9 .. qu'en pensez vous ? es ce que je fais une erreur ou bien es ce vba ?
merci
jacky
Bonjour.
Je suis d'accord avec vous.
Si a=b.q+p alors a mod b vaut p.
J'avoue ne plus très bien me souvenir de toutes ces définitions en ce qui
concerne des "modulo" de nombres négatifs (c'est à dire b négatif).
MOD() dans une feuille Excel et mod dans une routine VBA ne retournent pas
la même chose si un des deux nombres a ou b est négatif.
Cela est dû à leurs méthodes de calcul distinctes :
http://support.microsoft.com/default.aspx?kbid!4271
--
Cordialement,
cyrilv
3 étapes pour protéger votre PC :
http://microsoft.com/france/securite/protection
"Jacky Renaux" <anonymous@discussions.microsoft.com> a écrit dans le message
de news:04c001c3cdfa$70daa040$a601280a@phx.gbl...
Bonjour je ne suis pas un gourou en math mais il me semble
que mod (le calcul du modulo d'un nombre) n'est pas tres
juste pour ne pas dire faux
le modulo est le reste de la division (mod(a;b) donne le
reste de la division de a par b ainsi mod(6;15)= 6
et mod(16;15) = 1 ca marche bien mais
mod(-6;15) donne un nombre negatif alors que cela devrait
etre 9 .. qu'en pensez vous ? es ce que je fais une erreur
ou bien es ce vba ?
Je suis d'accord avec vous. Si a=b.q+p alors a mod b vaut p. J'avoue ne plus très bien me souvenir de toutes ces définitions en ce qui concerne des "modulo" de nombres négatifs (c'est à dire b négatif). MOD() dans une feuille Excel et mod dans une routine VBA ne retournent pas la même chose si un des deux nombres a ou b est négatif. Cela est dû à leurs méthodes de calcul distinctes : http://support.microsoft.com/default.aspx?kbid!4271
-- Cordialement, cyrilv 3 étapes pour protéger votre PC : http://microsoft.com/france/securite/protection
"Jacky Renaux" a écrit dans le message de news:04c001c3cdfa$70daa040$
Bonjour je ne suis pas un gourou en math mais il me semble que mod (le calcul du modulo d'un nombre) n'est pas tres juste pour ne pas dire faux
le modulo est le reste de la division (mod(a;b) donne le reste de la division de a par b ainsi mod(6;15)= 6 et mod(16;15) = 1 ca marche bien mais mod(-6;15) donne un nombre negatif alors que cela devrait etre 9 .. qu'en pensez vous ? es ce que je fais une erreur ou bien es ce vba ?
merci
jacky
garnote
Salut Jacky,
La formule =MOD(-6;15) donne 9. C'est bon puisque -6 = -1 x 15 + 9 VBA : -6 Mod 15 donne -6. C'est bon aussi puisque -6 = 0 x 15 -6 Cependant tu peux forcer VBA à donner la même réponse que la formule en utilisant à la place de n Mod d la chose suivante : n - d * Int(n / d) MOD(n;d) donne une réponse qui a le même signe que d. Quand n et d sont des entiers positifs, (c'est la coutume mathématique) les deux résultats sont identiques.
Serge
"Jacky Renaux" a écrit dans le message de news: 04c001c3cdfa$70daa040$
Bonjour je ne suis pas un gourou en math mais il me semble que mod (le calcul du modulo d'un nombre) n'est pas tres juste pour ne pas dire faux
le modulo est le reste de la division (mod(a;b) donne le reste de la division de a par b ainsi mod(6;15)= 6 et mod(16;15) = 1 ca marche bien mais mod(-6;15) donne un nombre negatif alors que cela devrait etre 9 .. qu'en pensez vous ? es ce que je fais une erreur ou bien es ce vba ?
merci
jacky
Salut Jacky,
La formule =MOD(-6;15) donne 9.
C'est bon puisque -6 = -1 x 15 + 9
VBA : -6 Mod 15 donne -6.
C'est bon aussi puisque -6 = 0 x 15 -6
Cependant tu peux forcer VBA à donner
la même réponse que la formule en utilisant
à la place de n Mod d la chose suivante :
n - d * Int(n / d)
MOD(n;d) donne une réponse qui a le
même signe que d.
Quand n et d sont des entiers positifs,
(c'est la coutume mathématique)
les deux résultats sont identiques.
Serge
"Jacky Renaux" <anonymous@discussions.microsoft.com> a écrit dans le message
de news: 04c001c3cdfa$70daa040$a601280a@phx.gbl...
Bonjour je ne suis pas un gourou en math mais il me semble
que mod (le calcul du modulo d'un nombre) n'est pas tres
juste pour ne pas dire faux
le modulo est le reste de la division (mod(a;b) donne le
reste de la division de a par b ainsi mod(6;15)= 6
et mod(16;15) = 1 ca marche bien mais
mod(-6;15) donne un nombre negatif alors que cela devrait
etre 9 .. qu'en pensez vous ? es ce que je fais une erreur
ou bien es ce vba ?
La formule =MOD(-6;15) donne 9. C'est bon puisque -6 = -1 x 15 + 9 VBA : -6 Mod 15 donne -6. C'est bon aussi puisque -6 = 0 x 15 -6 Cependant tu peux forcer VBA à donner la même réponse que la formule en utilisant à la place de n Mod d la chose suivante : n - d * Int(n / d) MOD(n;d) donne une réponse qui a le même signe que d. Quand n et d sont des entiers positifs, (c'est la coutume mathématique) les deux résultats sont identiques.
Serge
"Jacky Renaux" a écrit dans le message de news: 04c001c3cdfa$70daa040$
Bonjour je ne suis pas un gourou en math mais il me semble que mod (le calcul du modulo d'un nombre) n'est pas tres juste pour ne pas dire faux
le modulo est le reste de la division (mod(a;b) donne le reste de la division de a par b ainsi mod(6;15)= 6 et mod(16;15) = 1 ca marche bien mais mod(-6;15) donne un nombre negatif alors que cela devrait etre 9 .. qu'en pensez vous ? es ce que je fais une erreur ou bien es ce vba ?
merci
jacky
jacky renaux
-----Message d'origine----- Bonjour *Jacky Renaux* (et tous les lecteurs) | Bonjour je ne suis pas un gourou en math mais il me semble
Effectivement
| que mod (le calcul du modulo d'un nombre) n'est pas tres | juste pour ne pas dire faux
?
| le modulo est le reste de la division (mod(a;b) donne le
| reste de la division de a par b ainsi mod(6;15)= 6 | et mod(16;15) = 1 ca marche bien mais | mod(-6;15) donne un nombre negatif alors que cela devrait
| etre 9 .. qu'en pensez vous ? es ce que je fais une erreur
| ou bien es ce vba ?
C'est toi. On ne parle pas de faire -6+15 qui donnerait effectivement 9 mais bien
une division
15, dans -6, il y va 0 fois et il reste ... -6 inutilisés Souviens-toi dans une multiplication ou division + par + et - par - ça
donne + Quand les deux signes sont différents ça donne -.
-----Message d'origine-----
Bonjour *Jacky Renaux* (et tous les lecteurs)
| Bonjour je ne suis pas un gourou en math mais il me
semble
Effectivement
| que mod (le calcul du modulo d'un nombre) n'est pas tres
| juste pour ne pas dire faux
?
| le modulo est le reste de la division (mod(a;b) donne
le
| reste de la division de a par b ainsi mod(6;15)= 6
| et mod(16;15) = 1 ca marche bien mais
| mod(-6;15) donne un nombre negatif alors que cela
devrait
| etre 9 .. qu'en pensez vous ? es ce que je fais une
erreur
| ou bien es ce vba ?
C'est toi.
On ne parle pas de faire -6+15 qui donnerait
effectivement 9 mais bien
une division
15, dans -6, il y va 0 fois et il reste ... -6 inutilisés
Souviens-toi dans une multiplication ou division + par +
et - par - ça
donne +
Quand les deux signes sont différents ça donne -.
-----Message d'origine----- Bonjour *Jacky Renaux* (et tous les lecteurs) | Bonjour je ne suis pas un gourou en math mais il me semble
Effectivement
| que mod (le calcul du modulo d'un nombre) n'est pas tres | juste pour ne pas dire faux
?
| le modulo est le reste de la division (mod(a;b) donne le
| reste de la division de a par b ainsi mod(6;15)= 6 | et mod(16;15) = 1 ca marche bien mais | mod(-6;15) donne un nombre negatif alors que cela devrait
| etre 9 .. qu'en pensez vous ? es ce que je fais une erreur
| ou bien es ce vba ?
C'est toi. On ne parle pas de faire -6+15 qui donnerait effectivement 9 mais bien
une division
15, dans -6, il y va 0 fois et il reste ... -6 inutilisés Souviens-toi dans une multiplication ou division + par + et - par - ça
donne + Quand les deux signes sont différents ça donne -.
mod retourne le reste et le reste d'une operation n'est jamais negatif .... sauf si on utilise le complement du reste ce qui apparemment est fait avec VBA mais pas avec excel , puisque vba demande a faire n - d * Int(n / d)
Jn'etais pas conscient de l'implementation differente mais en math mod n'a jamais ete une division , l'operation est basee sur une division oui. a l'avenir je testerai les 2 implementations (a propos javascript et C donnent le meme resultat que excel a la difference de VBA qui a "invente" les modulos negatifs ..)
dans la reponse tu dis il reste -6 qui est inutilise, c'est exact mais cela n'a jamais ete le modulo du nombre
merci de toutes vos reponses , je suis alle voir la page citee par serge, je suis d'accord entierement avec ce qui est ecrit mais en arithmetique modulaire, je n'avais jamais vu un modulo negatif, j'utilise excel pour verifier les operateurs que je cree dans des composants electroniques mais .... ce n'est pas parceque je n'en avais jamais vu que cela ne peut arriver ...
merci a tous et encore une fois joyeuses fetes
jacky
-----Message d'origine----- Bonjour *Jacky Renaux* (et tous les lecteurs) | Bonjour je ne suis pas un gourou en math mais il me semble
Effectivement
| que mod (le calcul du modulo d'un nombre) n'est pas tres | juste pour ne pas dire faux
?
| le modulo est le reste de la division (mod(a;b) donne le
| reste de la division de a par b ainsi mod(6;15)= 6 | et mod(16;15) = 1 ca marche bien mais | mod(-6;15) donne un nombre negatif alors que cela devrait
| etre 9 .. qu'en pensez vous ? es ce que je fais une erreur
| ou bien es ce vba ?
C'est toi. On ne parle pas de faire -6+15 qui donnerait effectivement 9 mais bien
une division
15, dans -6, il y va 0 fois et il reste ... -6 inutilisés Souviens-toi dans une multiplication ou division + par + et - par - ça
donne + Quand les deux signes sont différents ça donne -.
mod retourne le reste et le reste d'une operation n'est
jamais negatif .... sauf si on utilise le complement du
reste ce qui apparemment est fait avec VBA mais pas avec
excel , puisque vba demande a faire n - d * Int(n / d)
Jn'etais pas conscient de l'implementation differente
mais en math mod n'a jamais ete une division , l'operation
est basee sur une division oui. a l'avenir je testerai les
2 implementations (a propos javascript et C donnent le
meme resultat que excel a la difference de VBA qui
a "invente" les modulos negatifs ..)
dans la reponse tu dis il reste -6 qui est inutilise,
c'est exact mais cela n'a jamais ete le modulo du nombre
merci de toutes vos reponses , je suis alle voir la page
citee par serge, je suis d'accord entierement avec ce qui
est ecrit mais en arithmetique modulaire, je n'avais
jamais vu un modulo negatif, j'utilise excel pour verifier
les operateurs que je cree dans des composants
electroniques mais .... ce n'est pas parceque je n'en
avais jamais vu que cela ne peut arriver ...
merci a tous et encore une fois joyeuses fetes
jacky
-----Message d'origine-----
Bonjour *Jacky Renaux* (et tous les lecteurs)
| Bonjour je ne suis pas un gourou en math mais il me
semble
Effectivement
| que mod (le calcul du modulo d'un nombre) n'est pas tres
| juste pour ne pas dire faux
?
| le modulo est le reste de la division (mod(a;b) donne
le
| reste de la division de a par b ainsi mod(6;15)= 6
| et mod(16;15) = 1 ca marche bien mais
| mod(-6;15) donne un nombre negatif alors que cela
devrait
| etre 9 .. qu'en pensez vous ? es ce que je fais une
erreur
| ou bien es ce vba ?
C'est toi.
On ne parle pas de faire -6+15 qui donnerait
effectivement 9 mais bien
une division
15, dans -6, il y va 0 fois et il reste ... -6 inutilisés
Souviens-toi dans une multiplication ou division + par +
et - par - ça
donne +
Quand les deux signes sont différents ça donne -.
mod retourne le reste et le reste d'une operation n'est jamais negatif .... sauf si on utilise le complement du reste ce qui apparemment est fait avec VBA mais pas avec excel , puisque vba demande a faire n - d * Int(n / d)
Jn'etais pas conscient de l'implementation differente mais en math mod n'a jamais ete une division , l'operation est basee sur une division oui. a l'avenir je testerai les 2 implementations (a propos javascript et C donnent le meme resultat que excel a la difference de VBA qui a "invente" les modulos negatifs ..)
dans la reponse tu dis il reste -6 qui est inutilise, c'est exact mais cela n'a jamais ete le modulo du nombre
merci de toutes vos reponses , je suis alle voir la page citee par serge, je suis d'accord entierement avec ce qui est ecrit mais en arithmetique modulaire, je n'avais jamais vu un modulo negatif, j'utilise excel pour verifier les operateurs que je cree dans des composants electroniques mais .... ce n'est pas parceque je n'en avais jamais vu que cela ne peut arriver ...
merci a tous et encore une fois joyeuses fetes
jacky
-----Message d'origine----- Bonjour *Jacky Renaux* (et tous les lecteurs) | Bonjour je ne suis pas un gourou en math mais il me semble
Effectivement
| que mod (le calcul du modulo d'un nombre) n'est pas tres | juste pour ne pas dire faux
?
| le modulo est le reste de la division (mod(a;b) donne le
| reste de la division de a par b ainsi mod(6;15)= 6 | et mod(16;15) = 1 ca marche bien mais | mod(-6;15) donne un nombre negatif alors que cela devrait
| etre 9 .. qu'en pensez vous ? es ce que je fais une erreur
| ou bien es ce vba ?
C'est toi. On ne parle pas de faire -6+15 qui donnerait effectivement 9 mais bien
une division
15, dans -6, il y va 0 fois et il reste ... -6 inutilisés Souviens-toi dans une multiplication ou division + par + et - par - ça
donne + Quand les deux signes sont différents ça donne -.