(si déjà entre 2 et 65536 il n'y a que 26 ....)
(si déjà entre 2 et 65536 il n'y a que 26 ....)
(si déjà entre 2 et 65536 il n'y a que 26 ....)
| Quelqu'un peut-il m'expliquer l'intérêt d'une telle chose?
Les concepteurs - programmeurs des fonctions de la feuille de calcul ne s ont pas les mêmes que ceux des fonctions
appartenant aux VBA. En conséquence, il y a des petites différences.. .
Un autre exemple :
Feuille de calcul : =Arrondi(6.65;1) retourne 6.7
En VBA = Round(6.65,1) retourne 6.6
Les 2 fonctions réfèrent à des codes différents -> ce sont 2 fonc tions différentes.
Celle en VBA est déficiente dans l'exemple donné.
Il vaut mieux utiliser = Application.WorksheetFunction.Round(6.65,1)
sachant que Application.WorksheetFunction utilise les fonctions de la feu ille de calcul
--
MichD
--------------------------------------------
"Tatanka" a écrit dans le message de gro upe de discussion :
i36o4t$
Bizz!
Sur une feuille de calcul, a-ENT(a) est toujours égal à MOD(a;ENT(a)) .
Par contre, en VBA, a-Int(a) n'est pas toujours égal à a Mod Int(a).
Ce qui explique la défaillance de la macro Fermat_Isabelle.
Quand même curieux que le modulo du VBA ne soit pas identique
au modulo d'une feuille de calcul!
Quelqu'un peut-il m'expliquer l'intérêt d'une telle chose?
Serge
"Tatanka" a écrit dans le message de new s: i36f4u$
> Plutôt ceci :
> Sub Fermat_Isabelle()
> Do
> n = n + 1
> a = (n - 1) ^ 0.5
> b = (n + 1) ^ (1 / 3)
> If (a Mod Int(a) = 0) And (b Mod Int(b) = 0) Then Ex it Do
> Loop
> [a1] = n
> End Sub
> mais ça ne fonctionne pas non plus!
> "Tatanka" a écrit dans le message de n ews: i36dvg$
>> Bonjour Isabelle,
>> Tu as très bien compris la question et moi j'ai compris que tu voula is écrire ^ plutôt que * dans :
>> If ((n - 1) * (1 / 2)) Mod Int((n - 1) * (1 / 2)) = 0 And (n + 1) * (1 / 3) Mod Int((n + 1) * (1 / 3)) = 0 Then
>> Voici une solution ne contenant que 72 caractères sans compter les e spaces :
>> Sub Fermat_Serge()
>> Do
>> n = n + 1
>> a = (n - 1) ^ 0.5
>> b = (n + 1) ^ (1 / 3)
>> If Int(a) = a And Int(b) = b Then Exit Do
>> Loop
>> [a1] = n
>> End Sub
>> Mais curieusement :
>> Sub Fermat_Isabelle()
>> Do
>> n = n + 1
>> a = (n - 1) ^ 0.5
>> b = (n + 1) ^ (1 / 3)
>> If (a Mod Int(a) = 0) And (b Mod Int(b)) = 0 Then E xit Do
>> Loop
>> [a1] = n
>> End Sub
>> ne fonctionne pas!
>> Por qué?
>> A--
>> Serge
>> "isabelle" a écrit dans le message de news: i35djs$g4..
>>> bonjour Serge,
>>> je n'ai peut être pas compris la donne mais selon ma compréhensio n, un seul j'en doute... n(2,5,17,26,50,65...)
>>> =ET(MOD(RACINE(A1-1);ENT(RACINE(A1-1)))=0;MOD((A1+1)*(1/3);ENT((A 1+1)*(1/3)))=0)
>>> If ((n - 1) * (1 / 2)) Mod Int((n - 1) * (1 / 2)) = 0 And (n + 1) * (1 / 3) Mod Int((n + 1) * (1 / 3)) = 0 Then
>>> isabelle
>>> Le 2010-08-01 17:22, Tatanka a écrit :
>>>> Bonjour,
>>>> Il existe un seul nombre entier positif (Pierre de Fermat) tel que
>>>> celui qui le précède est un carré et celui qui le suit est un cube.
>>>> Quelle serait la plus courte macro permettant de le débusquer ?
>>>> En souvenir de la plus courte formule :-)
>>>> Serge- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
| Quelqu'un peut-il m'expliquer l'intérêt d'une telle chose?
Les concepteurs - programmeurs des fonctions de la feuille de calcul ne s ont pas les mêmes que ceux des fonctions
appartenant aux VBA. En conséquence, il y a des petites différences.. .
Un autre exemple :
Feuille de calcul : =Arrondi(6.65;1) retourne 6.7
En VBA = Round(6.65,1) retourne 6.6
Les 2 fonctions réfèrent à des codes différents -> ce sont 2 fonc tions différentes.
Celle en VBA est déficiente dans l'exemple donné.
Il vaut mieux utiliser = Application.WorksheetFunction.Round(6.65,1)
sachant que Application.WorksheetFunction utilise les fonctions de la feu ille de calcul
--
MichD
--------------------------------------------
"Tatanka" <garnote3ENLE...@videotron.ca> a écrit dans le message de gro upe de discussion :
i36o4t$9n...@speranza.aioe.org...
Bizz!
Sur une feuille de calcul, a-ENT(a) est toujours égal à MOD(a;ENT(a)) .
Par contre, en VBA, a-Int(a) n'est pas toujours égal à a Mod Int(a).
Ce qui explique la défaillance de la macro Fermat_Isabelle.
Quand même curieux que le modulo du VBA ne soit pas identique
au modulo d'une feuille de calcul!
Quelqu'un peut-il m'expliquer l'intérêt d'une telle chose?
Serge
"Tatanka" <garnote3ENLE...@videotron.ca> a écrit dans le message de new s: i36f4u$rg...@speranza.aioe.org...
> Plutôt ceci :
> Sub Fermat_Isabelle()
> Do
> n = n + 1
> a = (n - 1) ^ 0.5
> b = (n + 1) ^ (1 / 3)
> If (a Mod Int(a) = 0) And (b Mod Int(b) = 0) Then Ex it Do
> Loop
> [a1] = n
> End Sub
> mais ça ne fonctionne pas non plus!
> "Tatanka" <garnote3ENLE...@videotron.ca> a écrit dans le message de n ews: i36dvg$ps...@speranza.aioe.org...
>> Bonjour Isabelle,
>> Tu as très bien compris la question et moi j'ai compris que tu voula is écrire ^ plutôt que * dans :
>> If ((n - 1) * (1 / 2)) Mod Int((n - 1) * (1 / 2)) = 0 And (n + 1) * (1 / 3) Mod Int((n + 1) * (1 / 3)) = 0 Then
>> Voici une solution ne contenant que 72 caractères sans compter les e spaces :
>> Sub Fermat_Serge()
>> Do
>> n = n + 1
>> a = (n - 1) ^ 0.5
>> b = (n + 1) ^ (1 / 3)
>> If Int(a) = a And Int(b) = b Then Exit Do
>> Loop
>> [a1] = n
>> End Sub
>> Mais curieusement :
>> Sub Fermat_Isabelle()
>> Do
>> n = n + 1
>> a = (n - 1) ^ 0.5
>> b = (n + 1) ^ (1 / 3)
>> If (a Mod Int(a) = 0) And (b Mod Int(b)) = 0 Then E xit Do
>> Loop
>> [a1] = n
>> End Sub
>> ne fonctionne pas!
>> Por qué?
>> A--
>> Serge
>> "isabelle" <i...@v.org> a écrit dans le message de news: i35djs$g4.. .@speranza.aioe.org...
>>> bonjour Serge,
>>> je n'ai peut être pas compris la donne mais selon ma compréhensio n, un seul j'en doute... n(2,5,17,26,50,65...)
>>> =ET(MOD(RACINE(A1-1);ENT(RACINE(A1-1)))=0;MOD((A1+1)*(1/3);ENT((A 1+1)*(1/3)))=0)
>>> If ((n - 1) * (1 / 2)) Mod Int((n - 1) * (1 / 2)) = 0 And (n + 1) * (1 / 3) Mod Int((n + 1) * (1 / 3)) = 0 Then
>>> isabelle
>>> Le 2010-08-01 17:22, Tatanka a écrit :
>>>> Bonjour,
>>>> Il existe un seul nombre entier positif (Pierre de Fermat) tel que
>>>> celui qui le précède est un carré et celui qui le suit est un cube.
>>>> Quelle serait la plus courte macro permettant de le débusquer ?
>>>> En souvenir de la plus courte formule :-)
>>>> Serge- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
| Quelqu'un peut-il m'expliquer l'intérêt d'une telle chose?
Les concepteurs - programmeurs des fonctions de la feuille de calcul ne s ont pas les mêmes que ceux des fonctions
appartenant aux VBA. En conséquence, il y a des petites différences.. .
Un autre exemple :
Feuille de calcul : =Arrondi(6.65;1) retourne 6.7
En VBA = Round(6.65,1) retourne 6.6
Les 2 fonctions réfèrent à des codes différents -> ce sont 2 fonc tions différentes.
Celle en VBA est déficiente dans l'exemple donné.
Il vaut mieux utiliser = Application.WorksheetFunction.Round(6.65,1)
sachant que Application.WorksheetFunction utilise les fonctions de la feu ille de calcul
--
MichD
--------------------------------------------
"Tatanka" a écrit dans le message de gro upe de discussion :
i36o4t$
Bizz!
Sur une feuille de calcul, a-ENT(a) est toujours égal à MOD(a;ENT(a)) .
Par contre, en VBA, a-Int(a) n'est pas toujours égal à a Mod Int(a).
Ce qui explique la défaillance de la macro Fermat_Isabelle.
Quand même curieux que le modulo du VBA ne soit pas identique
au modulo d'une feuille de calcul!
Quelqu'un peut-il m'expliquer l'intérêt d'une telle chose?
Serge
"Tatanka" a écrit dans le message de new s: i36f4u$
> Plutôt ceci :
> Sub Fermat_Isabelle()
> Do
> n = n + 1
> a = (n - 1) ^ 0.5
> b = (n + 1) ^ (1 / 3)
> If (a Mod Int(a) = 0) And (b Mod Int(b) = 0) Then Ex it Do
> Loop
> [a1] = n
> End Sub
> mais ça ne fonctionne pas non plus!
> "Tatanka" a écrit dans le message de n ews: i36dvg$
>> Bonjour Isabelle,
>> Tu as très bien compris la question et moi j'ai compris que tu voula is écrire ^ plutôt que * dans :
>> If ((n - 1) * (1 / 2)) Mod Int((n - 1) * (1 / 2)) = 0 And (n + 1) * (1 / 3) Mod Int((n + 1) * (1 / 3)) = 0 Then
>> Voici une solution ne contenant que 72 caractères sans compter les e spaces :
>> Sub Fermat_Serge()
>> Do
>> n = n + 1
>> a = (n - 1) ^ 0.5
>> b = (n + 1) ^ (1 / 3)
>> If Int(a) = a And Int(b) = b Then Exit Do
>> Loop
>> [a1] = n
>> End Sub
>> Mais curieusement :
>> Sub Fermat_Isabelle()
>> Do
>> n = n + 1
>> a = (n - 1) ^ 0.5
>> b = (n + 1) ^ (1 / 3)
>> If (a Mod Int(a) = 0) And (b Mod Int(b)) = 0 Then E xit Do
>> Loop
>> [a1] = n
>> End Sub
>> ne fonctionne pas!
>> Por qué?
>> A--
>> Serge
>> "isabelle" a écrit dans le message de news: i35djs$g4..
>>> bonjour Serge,
>>> je n'ai peut être pas compris la donne mais selon ma compréhensio n, un seul j'en doute... n(2,5,17,26,50,65...)
>>> =ET(MOD(RACINE(A1-1);ENT(RACINE(A1-1)))=0;MOD((A1+1)*(1/3);ENT((A 1+1)*(1/3)))=0)
>>> If ((n - 1) * (1 / 2)) Mod Int((n - 1) * (1 / 2)) = 0 And (n + 1) * (1 / 3) Mod Int((n + 1) * (1 / 3)) = 0 Then
>>> isabelle
>>> Le 2010-08-01 17:22, Tatanka a écrit :
>>>> Bonjour,
>>>> Il existe un seul nombre entier positif (Pierre de Fermat) tel que
>>>> celui qui le précède est un carré et celui qui le suit est un cube.
>>>> Quelle serait la plus courte macro permettant de le débusquer ?
>>>> En souvenir de la plus courte formule :-)
>>>> Serge- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
| Quelqu'un peut-il m'expliquer l'intérêt d'une telle chose?
Les concepteurs - programmeurs des fonctions de la feuille de calcul ne sont pas les mêmes que ceux des fonctions
appartenant aux VBA. En conséquence, il y a des petites différences...
Un autre exemple :
Feuille de calcul : =Arrondi(6.65;1) retourne 6.7
En VBA = Round(6.65,1) retourne 6.6
Les 2 fonctions réfèrent à des codes différents -> ce sont 2 fonctions différentes.
Celle en VBA est déficiente dans l'exemple donné.
Il vaut mieux utiliser = Application.WorksheetFunction.Round(6.65,1)
sachant que Application.WorksheetFunction utilise les fonctions de la feuille de calcul
--
MichD
--------------------------------------------
"Tatanka" a écrit dans le message de groupe de discussion :
i36o4t$
Bizz!
Sur une feuille de calcul, a-ENT(a) est toujours égal à MOD(a;ENT(a)).
Par contre, en VBA, a-Int(a) n'est pas toujours égal à a Mod Int(a).
Ce qui explique la défaillance de la macro Fermat_Isabelle.
Quand même curieux que le modulo du VBA ne soit pas identique
au modulo d'une feuille de calcul!
Quelqu'un peut-il m'expliquer l'intérêt d'une telle chose?
Serge
"Tatanka" a écrit dans le message de news: i36f4u$
> Plutôt ceci :
> Sub Fermat_Isabelle()
> Do
> n = n + 1
> a = (n - 1) ^ 0.5
> b = (n + 1) ^ (1 / 3)
> If (a Mod Int(a) = 0) And (b Mod Int(b) = 0) Then Exit Do
> Loop
> [a1] = n
> End Sub
> mais ça ne fonctionne pas non plus!
> "Tatanka" a écrit dans le message de news: i36dvg$
>> Bonjour Isabelle,
>> Tu as très bien compris la question et moi j'ai compris que tu voulais écrire ^ plutôt que * dans :
>> If ((n - 1) * (1 / 2)) Mod Int((n - 1) * (1 / 2)) = 0 And (n + 1) * (1 / 3) Mod Int((n + 1) * (1 / 3)) = 0 Then
>> Voici une solution ne contenant que 72 caractères sans compter les espaces :
>> Sub Fermat_Serge()
>> Do
>> n = n + 1
>> a = (n - 1) ^ 0.5
>> b = (n + 1) ^ (1 / 3)
>> If Int(a) = a And Int(b) = b Then Exit Do
>> Loop
>> [a1] = n
>> End Sub
>> Mais curieusement :
>> Sub Fermat_Isabelle()
>> Do
>> n = n + 1
>> a = (n - 1) ^ 0.5
>> b = (n + 1) ^ (1 / 3)
>> If (a Mod Int(a) = 0) And (b Mod Int(b)) = 0 Then Exit Do
>> Loop
>> [a1] = n
>> End Sub
>> ne fonctionne pas!
>> Por qué?
>> A--
>> Serge
>> "isabelle" a écrit dans le message de news: i35djs$
>>> bonjour Serge,
>>> je n'ai peut être pas compris la donne mais selon ma compréhension, un seul j'en doute... n(2,5,17,26,50,65...)
>>> =ET(MOD(RACINE(A1-1);ENT(RACINE(A1-1)))=0;MOD((A1+1)*(1/3);ENT((A1+1)*(1/3)))=0)
>>> If ((n - 1) * (1 / 2)) Mod Int((n - 1) * (1 / 2)) = 0 And (n + 1) * (1 / 3) Mod Int((n + 1) * (1 / 3)) = 0 Then
>>> isabelle
>>> Le 2010-08-01 17:22, Tatanka a écrit :
>>>> Bonjour,
>>>> Il existe un seul nombre entier positif (Pierre de Fermat) tel que
>>>> celui qui le précède est un carré et celui qui le suit est un cube.
>>>> Quelle serait la plus courte macro permettant de le débusquer ?
>>>> En souvenir de la plus courte formule :-)
>>>> Serge- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
| Quelqu'un peut-il m'expliquer l'intérêt d'une telle chose?
Les concepteurs - programmeurs des fonctions de la feuille de calcul ne sont pas les mêmes que ceux des fonctions
appartenant aux VBA. En conséquence, il y a des petites différences...
Un autre exemple :
Feuille de calcul : =Arrondi(6.65;1) retourne 6.7
En VBA = Round(6.65,1) retourne 6.6
Les 2 fonctions réfèrent à des codes différents -> ce sont 2 fonctions différentes.
Celle en VBA est déficiente dans l'exemple donné.
Il vaut mieux utiliser = Application.WorksheetFunction.Round(6.65,1)
sachant que Application.WorksheetFunction utilise les fonctions de la feuille de calcul
--
MichD
--------------------------------------------
"Tatanka" <garnote3ENLE...@videotron.ca> a écrit dans le message de groupe de discussion :
i36o4t$9n...@speranza.aioe.org...
Bizz!
Sur une feuille de calcul, a-ENT(a) est toujours égal à MOD(a;ENT(a)).
Par contre, en VBA, a-Int(a) n'est pas toujours égal à a Mod Int(a).
Ce qui explique la défaillance de la macro Fermat_Isabelle.
Quand même curieux que le modulo du VBA ne soit pas identique
au modulo d'une feuille de calcul!
Quelqu'un peut-il m'expliquer l'intérêt d'une telle chose?
Serge
"Tatanka" <garnote3ENLE...@videotron.ca> a écrit dans le message de news: i36f4u$rg...@speranza.aioe.org...
> Plutôt ceci :
> Sub Fermat_Isabelle()
> Do
> n = n + 1
> a = (n - 1) ^ 0.5
> b = (n + 1) ^ (1 / 3)
> If (a Mod Int(a) = 0) And (b Mod Int(b) = 0) Then Exit Do
> Loop
> [a1] = n
> End Sub
> mais ça ne fonctionne pas non plus!
> "Tatanka" <garnote3ENLE...@videotron.ca> a écrit dans le message de news: i36dvg$ps...@speranza.aioe.org...
>> Bonjour Isabelle,
>> Tu as très bien compris la question et moi j'ai compris que tu voulais écrire ^ plutôt que * dans :
>> If ((n - 1) * (1 / 2)) Mod Int((n - 1) * (1 / 2)) = 0 And (n + 1) * (1 / 3) Mod Int((n + 1) * (1 / 3)) = 0 Then
>> Voici une solution ne contenant que 72 caractères sans compter les espaces :
>> Sub Fermat_Serge()
>> Do
>> n = n + 1
>> a = (n - 1) ^ 0.5
>> b = (n + 1) ^ (1 / 3)
>> If Int(a) = a And Int(b) = b Then Exit Do
>> Loop
>> [a1] = n
>> End Sub
>> Mais curieusement :
>> Sub Fermat_Isabelle()
>> Do
>> n = n + 1
>> a = (n - 1) ^ 0.5
>> b = (n + 1) ^ (1 / 3)
>> If (a Mod Int(a) = 0) And (b Mod Int(b)) = 0 Then Exit Do
>> Loop
>> [a1] = n
>> End Sub
>> ne fonctionne pas!
>> Por qué?
>> A--
>> Serge
>> "isabelle" <i...@v.org> a écrit dans le message de news: i35djs$g4...@speranza.aioe.org...
>>> bonjour Serge,
>>> je n'ai peut être pas compris la donne mais selon ma compréhension, un seul j'en doute... n(2,5,17,26,50,65...)
>>> =ET(MOD(RACINE(A1-1);ENT(RACINE(A1-1)))=0;MOD((A1+1)*(1/3);ENT((A1+1)*(1/3)))=0)
>>> If ((n - 1) * (1 / 2)) Mod Int((n - 1) * (1 / 2)) = 0 And (n + 1) * (1 / 3) Mod Int((n + 1) * (1 / 3)) = 0 Then
>>> isabelle
>>> Le 2010-08-01 17:22, Tatanka a écrit :
>>>> Bonjour,
>>>> Il existe un seul nombre entier positif (Pierre de Fermat) tel que
>>>> celui qui le précède est un carré et celui qui le suit est un cube.
>>>> Quelle serait la plus courte macro permettant de le débusquer ?
>>>> En souvenir de la plus courte formule :-)
>>>> Serge- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
| Quelqu'un peut-il m'expliquer l'intérêt d'une telle chose?
Les concepteurs - programmeurs des fonctions de la feuille de calcul ne sont pas les mêmes que ceux des fonctions
appartenant aux VBA. En conséquence, il y a des petites différences...
Un autre exemple :
Feuille de calcul : =Arrondi(6.65;1) retourne 6.7
En VBA = Round(6.65,1) retourne 6.6
Les 2 fonctions réfèrent à des codes différents -> ce sont 2 fonctions différentes.
Celle en VBA est déficiente dans l'exemple donné.
Il vaut mieux utiliser = Application.WorksheetFunction.Round(6.65,1)
sachant que Application.WorksheetFunction utilise les fonctions de la feuille de calcul
--
MichD
--------------------------------------------
"Tatanka" a écrit dans le message de groupe de discussion :
i36o4t$
Bizz!
Sur une feuille de calcul, a-ENT(a) est toujours égal à MOD(a;ENT(a)).
Par contre, en VBA, a-Int(a) n'est pas toujours égal à a Mod Int(a).
Ce qui explique la défaillance de la macro Fermat_Isabelle.
Quand même curieux que le modulo du VBA ne soit pas identique
au modulo d'une feuille de calcul!
Quelqu'un peut-il m'expliquer l'intérêt d'une telle chose?
Serge
"Tatanka" a écrit dans le message de news: i36f4u$
> Plutôt ceci :
> Sub Fermat_Isabelle()
> Do
> n = n + 1
> a = (n - 1) ^ 0.5
> b = (n + 1) ^ (1 / 3)
> If (a Mod Int(a) = 0) And (b Mod Int(b) = 0) Then Exit Do
> Loop
> [a1] = n
> End Sub
> mais ça ne fonctionne pas non plus!
> "Tatanka" a écrit dans le message de news: i36dvg$
>> Bonjour Isabelle,
>> Tu as très bien compris la question et moi j'ai compris que tu voulais écrire ^ plutôt que * dans :
>> If ((n - 1) * (1 / 2)) Mod Int((n - 1) * (1 / 2)) = 0 And (n + 1) * (1 / 3) Mod Int((n + 1) * (1 / 3)) = 0 Then
>> Voici une solution ne contenant que 72 caractères sans compter les espaces :
>> Sub Fermat_Serge()
>> Do
>> n = n + 1
>> a = (n - 1) ^ 0.5
>> b = (n + 1) ^ (1 / 3)
>> If Int(a) = a And Int(b) = b Then Exit Do
>> Loop
>> [a1] = n
>> End Sub
>> Mais curieusement :
>> Sub Fermat_Isabelle()
>> Do
>> n = n + 1
>> a = (n - 1) ^ 0.5
>> b = (n + 1) ^ (1 / 3)
>> If (a Mod Int(a) = 0) And (b Mod Int(b)) = 0 Then Exit Do
>> Loop
>> [a1] = n
>> End Sub
>> ne fonctionne pas!
>> Por qué?
>> A--
>> Serge
>> "isabelle" a écrit dans le message de news: i35djs$
>>> bonjour Serge,
>>> je n'ai peut être pas compris la donne mais selon ma compréhension, un seul j'en doute... n(2,5,17,26,50,65...)
>>> =ET(MOD(RACINE(A1-1);ENT(RACINE(A1-1)))=0;MOD((A1+1)*(1/3);ENT((A1+1)*(1/3)))=0)
>>> If ((n - 1) * (1 / 2)) Mod Int((n - 1) * (1 / 2)) = 0 And (n + 1) * (1 / 3) Mod Int((n + 1) * (1 / 3)) = 0 Then
>>> isabelle
>>> Le 2010-08-01 17:22, Tatanka a écrit :
>>>> Bonjour,
>>>> Il existe un seul nombre entier positif (Pierre de Fermat) tel que
>>>> celui qui le précède est un carré et celui qui le suit est un cube.
>>>> Quelle serait la plus courte macro permettant de le débusquer ?
>>>> En souvenir de la plus courte formule :-)
>>>> Serge- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Est-ce que tu peux faire fonctionner ta macro en utilisant
If (a Mod Int(a) = 0) And (b Mod Int(b) = 0)
plutôt que
If (a - Int(a) = 0) And (b - Int(b) = 0) ?
"LSteph" a écrit dans le message de news: 243a8fe7
Objection toutefois par rapport au sujet:
Il y a certes un légère différence c'est indéniable mais ce n'est pas
la raison pour laquelle le code de Serge ne fonctionnait pas
Il suffit de tester ce code avec ou sans déclaration du type
et le résultat est éloquent on a 26 dans le bon cas
et 2 dans le mauvais ' comme ici en commentaire
Sub Fermat_Steph()
'Dim a As Single, n As Single, b As Single
n = 2
test = False
Do
a = (n - 1) ^ 0.5
b = (n + 1) ^ (1 / 3)
If (a - Int(a) = 0) And (b - Int(b) = 0) Then test = True:
Exit Do
n = n + 1
Loop While test = False
[a1] = n
End Sub
On 2 août, 18:00, "michdenis" wrote:
> | Quelqu'un peut-il m'expliquer l'intérêt d'une telle chose?
> Les concepteurs - programmeurs des fonctions de la feuille de calcul ne sont pas les mêmes que ceux des fonctions
> appartenant aux VBA. En conséquence, il y a des petites différences ...
> Un autre exemple :
> Feuille de calcul : =Arrondi(6.65;1) retourne 6.7
> En VBA = Round(6.65,1) retourne 6.6
> Les 2 fonctions réfèrent à des codes différents -> ce sont 2 fo nctions différentes.
> Celle en VBA est déficiente dans l'exemple donné.
> Il vaut mieux utiliser = Application.WorksheetFunction.Round(6.65,1)
> sachant que Application.WorksheetFunction utilise les fonctions de la f euille de calcul
> --
> MichD
> --------------------------------------------
> "Tatanka" a écrit dans le message de g roupe de discussion :
> i36o4t$
> Bizz!
> Sur une feuille de calcul, a-ENT(a) est toujours égal à MOD(a;ENT(a )).
> Par contre, en VBA, a-Int(a) n'est pas toujours égal à a Mod Int(a) .
> Ce qui explique la défaillance de la macro Fermat_Isabelle.
> Quand même curieux que le modulo du VBA ne soit pas identique
> au modulo d'une feuille de calcul!
> Quelqu'un peut-il m'expliquer l'intérêt d'une telle chose?
> Serge
> "Tatanka" a écrit dans le message de n ews: i36f4u$
> > Plutôt ceci :
> > Sub Fermat_Isabelle()
> > Do
> > n = n + 1
> > a = (n - 1) ^ 0.5
> > b = (n + 1) ^ (1 / 3)
> > If (a Mod Int(a) = 0) And (b Mod Int(b) = 0) Then Exit Do
> > Loop
> > [a1] = n
> > End Sub
> > mais ça ne fonctionne pas non plus!
> > "Tatanka" a écrit dans le message de news: i36dvg$
> >> Bonjour Isabelle,
> >> Tu as très bien compris la question et moi j'ai compris que tu vou lais écrire ^ plutôt que * dans :
> >> If ((n - 1) * (1 / 2)) Mod Int((n - 1) * (1 / 2)) = 0 And (n + 1) * (1 / 3) Mod Int((n + 1) * (1 / 3)) = 0 Then
> >> Voici une solution ne contenant que 72 caractères sans compter les espaces :
> >> Sub Fermat_Serge()
> >> Do
> >> n = n + 1
> >> a = (n - 1) ^ 0.5
> >> b = (n + 1) ^ (1 / 3)
> >> If Int(a) = a And Int(b) = b Then Exit Do
> >> Loop
> >> [a1] = n
> >> End Sub
> >> Mais curieusement :
> >> Sub Fermat_Isabelle()
> >> Do
> >> n = n + 1
> >> a = (n - 1) ^ 0.5
> >> b = (n + 1) ^ (1 / 3)
> >> If (a Mod Int(a) = 0) And (b Mod Int(b)) = 0 Then Exit Do
> >> Loop
> >> [a1] = n
> >> End Sub
> >> ne fonctionne pas!
> >> Por qué?
> >> A--
> >> Serge
> >> "isabelle" a écrit dans le message de news: i35djs$g4
> >>> bonjour Serge,
> >>> je n'ai peut être pas compris la donne mais selon ma compréhens ion, un seul j'en doute... n(2,5,17,26,50,65...)
> >>> =ET(MOD(RACINE(A1-1);ENT(RACINE(A1-1)))=0;MOD((A1+1)*(1/3);ENT( (A1+1)*(1/3)))=0)
> >>> If ((n - 1) * (1 / 2)) Mod Int((n - 1) * (1 / 2)) = 0 And (n + 1) * (1 / 3) Mod Int((n + 1) * (1 / 3)) = 0 Then
> >>> isabelle
> >>> Le 2010-08-01 17:22, Tatanka a écrit :
> >>>> Bonjour,
> >>>> Il existe un seul nombre entier positif (Pierre de Fermat) tel que
> >>>> celui qui le précède est un carré et celui qui le suit est u n cube.
> >>>> Quelle serait la plus courte macro permettant de le débusquer ?
> >>>> En souvenir de la plus courte formule :-)
> >>>> Serge- Masquer le texte des messages précédents -
> - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Est-ce que tu peux faire fonctionner ta macro en utilisant
If (a Mod Int(a) = 0) And (b Mod Int(b) = 0)
plutôt que
If (a - Int(a) = 0) And (b - Int(b) = 0) ?
"LSteph" <gmlst...@gmail.com> a écrit dans le message de news: 243a8fe7 -1139-458a-849e-5ba018083...@x24g2000pro.googlegroups.com...
Objection toutefois par rapport au sujet:
Il y a certes un légère différence c'est indéniable mais ce n'est pas
la raison pour laquelle le code de Serge ne fonctionnait pas
Il suffit de tester ce code avec ou sans déclaration du type
et le résultat est éloquent on a 26 dans le bon cas
et 2 dans le mauvais ' comme ici en commentaire
Sub Fermat_Steph()
'Dim a As Single, n As Single, b As Single
n = 2
test = False
Do
a = (n - 1) ^ 0.5
b = (n + 1) ^ (1 / 3)
If (a - Int(a) = 0) And (b - Int(b) = 0) Then test = True:
Exit Do
n = n + 1
Loop While test = False
[a1] = n
End Sub
On 2 août, 18:00, "michdenis" <michde...@hotmail.com> wrote:
> | Quelqu'un peut-il m'expliquer l'intérêt d'une telle chose?
> Les concepteurs - programmeurs des fonctions de la feuille de calcul ne sont pas les mêmes que ceux des fonctions
> appartenant aux VBA. En conséquence, il y a des petites différences ...
> Un autre exemple :
> Feuille de calcul : =Arrondi(6.65;1) retourne 6.7
> En VBA = Round(6.65,1) retourne 6.6
> Les 2 fonctions réfèrent à des codes différents -> ce sont 2 fo nctions différentes.
> Celle en VBA est déficiente dans l'exemple donné.
> Il vaut mieux utiliser = Application.WorksheetFunction.Round(6.65,1)
> sachant que Application.WorksheetFunction utilise les fonctions de la f euille de calcul
> --
> MichD
> --------------------------------------------
> "Tatanka" <garnote3ENLE...@videotron.ca> a écrit dans le message de g roupe de discussion :
> i36o4t$9n...@speranza.aioe.org...
> Bizz!
> Sur une feuille de calcul, a-ENT(a) est toujours égal à MOD(a;ENT(a )).
> Par contre, en VBA, a-Int(a) n'est pas toujours égal à a Mod Int(a) .
> Ce qui explique la défaillance de la macro Fermat_Isabelle.
> Quand même curieux que le modulo du VBA ne soit pas identique
> au modulo d'une feuille de calcul!
> Quelqu'un peut-il m'expliquer l'intérêt d'une telle chose?
> Serge
> "Tatanka" <garnote3ENLE...@videotron.ca> a écrit dans le message de n ews: i36f4u$rg...@speranza.aioe.org...
> > Plutôt ceci :
> > Sub Fermat_Isabelle()
> > Do
> > n = n + 1
> > a = (n - 1) ^ 0.5
> > b = (n + 1) ^ (1 / 3)
> > If (a Mod Int(a) = 0) And (b Mod Int(b) = 0) Then Exit Do
> > Loop
> > [a1] = n
> > End Sub
> > mais ça ne fonctionne pas non plus!
> > "Tatanka" <garnote3ENLE...@videotron.ca> a écrit dans le message de news: i36dvg$ps...@speranza.aioe.org...
> >> Bonjour Isabelle,
> >> Tu as très bien compris la question et moi j'ai compris que tu vou lais écrire ^ plutôt que * dans :
> >> If ((n - 1) * (1 / 2)) Mod Int((n - 1) * (1 / 2)) = 0 And (n + 1) * (1 / 3) Mod Int((n + 1) * (1 / 3)) = 0 Then
> >> Voici une solution ne contenant que 72 caractères sans compter les espaces :
> >> Sub Fermat_Serge()
> >> Do
> >> n = n + 1
> >> a = (n - 1) ^ 0.5
> >> b = (n + 1) ^ (1 / 3)
> >> If Int(a) = a And Int(b) = b Then Exit Do
> >> Loop
> >> [a1] = n
> >> End Sub
> >> Mais curieusement :
> >> Sub Fermat_Isabelle()
> >> Do
> >> n = n + 1
> >> a = (n - 1) ^ 0.5
> >> b = (n + 1) ^ (1 / 3)
> >> If (a Mod Int(a) = 0) And (b Mod Int(b)) = 0 Then Exit Do
> >> Loop
> >> [a1] = n
> >> End Sub
> >> ne fonctionne pas!
> >> Por qué?
> >> A--
> >> Serge
> >> "isabelle" <i...@v.org> a écrit dans le message de news: i35djs$g4 ...@speranza.aioe.org...
> >>> bonjour Serge,
> >>> je n'ai peut être pas compris la donne mais selon ma compréhens ion, un seul j'en doute... n(2,5,17,26,50,65...)
> >>> =ET(MOD(RACINE(A1-1);ENT(RACINE(A1-1)))=0;MOD((A1+1)*(1/3);ENT( (A1+1)*(1/3)))=0)
> >>> If ((n - 1) * (1 / 2)) Mod Int((n - 1) * (1 / 2)) = 0 And (n + 1) * (1 / 3) Mod Int((n + 1) * (1 / 3)) = 0 Then
> >>> isabelle
> >>> Le 2010-08-01 17:22, Tatanka a écrit :
> >>>> Bonjour,
> >>>> Il existe un seul nombre entier positif (Pierre de Fermat) tel que
> >>>> celui qui le précède est un carré et celui qui le suit est u n cube.
> >>>> Quelle serait la plus courte macro permettant de le débusquer ?
> >>>> En souvenir de la plus courte formule :-)
> >>>> Serge- Masquer le texte des messages précédents -
> - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Est-ce que tu peux faire fonctionner ta macro en utilisant
If (a Mod Int(a) = 0) And (b Mod Int(b) = 0)
plutôt que
If (a - Int(a) = 0) And (b - Int(b) = 0) ?
"LSteph" a écrit dans le message de news: 243a8fe7
Objection toutefois par rapport au sujet:
Il y a certes un légère différence c'est indéniable mais ce n'est pas
la raison pour laquelle le code de Serge ne fonctionnait pas
Il suffit de tester ce code avec ou sans déclaration du type
et le résultat est éloquent on a 26 dans le bon cas
et 2 dans le mauvais ' comme ici en commentaire
Sub Fermat_Steph()
'Dim a As Single, n As Single, b As Single
n = 2
test = False
Do
a = (n - 1) ^ 0.5
b = (n + 1) ^ (1 / 3)
If (a - Int(a) = 0) And (b - Int(b) = 0) Then test = True:
Exit Do
n = n + 1
Loop While test = False
[a1] = n
End Sub
On 2 août, 18:00, "michdenis" wrote:
> | Quelqu'un peut-il m'expliquer l'intérêt d'une telle chose?
> Les concepteurs - programmeurs des fonctions de la feuille de calcul ne sont pas les mêmes que ceux des fonctions
> appartenant aux VBA. En conséquence, il y a des petites différences ...
> Un autre exemple :
> Feuille de calcul : =Arrondi(6.65;1) retourne 6.7
> En VBA = Round(6.65,1) retourne 6.6
> Les 2 fonctions réfèrent à des codes différents -> ce sont 2 fo nctions différentes.
> Celle en VBA est déficiente dans l'exemple donné.
> Il vaut mieux utiliser = Application.WorksheetFunction.Round(6.65,1)
> sachant que Application.WorksheetFunction utilise les fonctions de la f euille de calcul
> --
> MichD
> --------------------------------------------
> "Tatanka" a écrit dans le message de g roupe de discussion :
> i36o4t$
> Bizz!
> Sur une feuille de calcul, a-ENT(a) est toujours égal à MOD(a;ENT(a )).
> Par contre, en VBA, a-Int(a) n'est pas toujours égal à a Mod Int(a) .
> Ce qui explique la défaillance de la macro Fermat_Isabelle.
> Quand même curieux que le modulo du VBA ne soit pas identique
> au modulo d'une feuille de calcul!
> Quelqu'un peut-il m'expliquer l'intérêt d'une telle chose?
> Serge
> "Tatanka" a écrit dans le message de n ews: i36f4u$
> > Plutôt ceci :
> > Sub Fermat_Isabelle()
> > Do
> > n = n + 1
> > a = (n - 1) ^ 0.5
> > b = (n + 1) ^ (1 / 3)
> > If (a Mod Int(a) = 0) And (b Mod Int(b) = 0) Then Exit Do
> > Loop
> > [a1] = n
> > End Sub
> > mais ça ne fonctionne pas non plus!
> > "Tatanka" a écrit dans le message de news: i36dvg$
> >> Bonjour Isabelle,
> >> Tu as très bien compris la question et moi j'ai compris que tu vou lais écrire ^ plutôt que * dans :
> >> If ((n - 1) * (1 / 2)) Mod Int((n - 1) * (1 / 2)) = 0 And (n + 1) * (1 / 3) Mod Int((n + 1) * (1 / 3)) = 0 Then
> >> Voici une solution ne contenant que 72 caractères sans compter les espaces :
> >> Sub Fermat_Serge()
> >> Do
> >> n = n + 1
> >> a = (n - 1) ^ 0.5
> >> b = (n + 1) ^ (1 / 3)
> >> If Int(a) = a And Int(b) = b Then Exit Do
> >> Loop
> >> [a1] = n
> >> End Sub
> >> Mais curieusement :
> >> Sub Fermat_Isabelle()
> >> Do
> >> n = n + 1
> >> a = (n - 1) ^ 0.5
> >> b = (n + 1) ^ (1 / 3)
> >> If (a Mod Int(a) = 0) And (b Mod Int(b)) = 0 Then Exit Do
> >> Loop
> >> [a1] = n
> >> End Sub
> >> ne fonctionne pas!
> >> Por qué?
> >> A--
> >> Serge
> >> "isabelle" a écrit dans le message de news: i35djs$g4
> >>> bonjour Serge,
> >>> je n'ai peut être pas compris la donne mais selon ma compréhens ion, un seul j'en doute... n(2,5,17,26,50,65...)
> >>> =ET(MOD(RACINE(A1-1);ENT(RACINE(A1-1)))=0;MOD((A1+1)*(1/3);ENT( (A1+1)*(1/3)))=0)
> >>> If ((n - 1) * (1 / 2)) Mod Int((n - 1) * (1 / 2)) = 0 And (n + 1) * (1 / 3) Mod Int((n + 1) * (1 / 3)) = 0 Then
> >>> isabelle
> >>> Le 2010-08-01 17:22, Tatanka a écrit :
> >>>> Bonjour,
> >>>> Il existe un seul nombre entier positif (Pierre de Fermat) tel que
> >>>> celui qui le précède est un carré et celui qui le suit est u n cube.
> >>>> Quelle serait la plus courte macro permettant de le débusquer ?
> >>>> En souvenir de la plus courte formule :-)
> >>>> Serge- Masquer le texte des messages précédents -
> - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Est-ce que tu peux faire fonctionner ta macro en utilisant
If (a Mod Int(a) = 0) And (b Mod Int(b) = 0)
plutôt que
If (a - Int(a) = 0) And (b - Int(b) = 0) ?
"LSteph" a écrit dans le message de news:
Objection toutefois par rapport au sujet:
Il y a certes un légère différence c'est indéniable mais ce n'est pas
la raison pour laquelle le code de Serge ne fonctionnait pas
Il suffit de tester ce code avec ou sans déclaration du type
et le résultat est éloquent on a 26 dans le bon cas
et 2 dans le mauvais ' comme ici en commentaire
Sub Fermat_Steph()
'Dim a As Single, n As Single, b As Single
n = 2
test = False
Do
a = (n - 1) ^ 0.5
b = (n + 1) ^ (1 / 3)
If (a - Int(a) = 0) And (b - Int(b) = 0) Then test = True:
Exit Do
n = n + 1
Loop While test = False
[a1] = n
End Sub
On 2 août, 18:00, "michdenis" wrote:
> | Quelqu'un peut-il m'expliquer l'intérêt d'une telle chose?
> Les concepteurs - programmeurs des fonctions de la feuille de calcul ne sont pas les mêmes que ceux des fonctions
> appartenant aux VBA. En conséquence, il y a des petites différences...
> Un autre exemple :
> Feuille de calcul : =Arrondi(6.65;1) retourne 6.7
> En VBA = Round(6.65,1) retourne 6.6
> Les 2 fonctions réfèrent à des codes différents -> ce sont 2 fonctions différentes.
> Celle en VBA est déficiente dans l'exemple donné.
> Il vaut mieux utiliser = Application.WorksheetFunction.Round(6.65,1)
> sachant que Application.WorksheetFunction utilise les fonctions de la feuille de calcul
> --
> MichD
> --------------------------------------------
> "Tatanka" a écrit dans le message de groupe de discussion :
> i36o4t$
> Bizz!
> Sur une feuille de calcul, a-ENT(a) est toujours égal à MOD(a;ENT(a)).
> Par contre, en VBA, a-Int(a) n'est pas toujours égal à a Mod Int(a).
> Ce qui explique la défaillance de la macro Fermat_Isabelle.
> Quand même curieux que le modulo du VBA ne soit pas identique
> au modulo d'une feuille de calcul!
> Quelqu'un peut-il m'expliquer l'intérêt d'une telle chose?
> Serge
> "Tatanka" a écrit dans le message de news: i36f4u$
> > Plutôt ceci :
> > Sub Fermat_Isabelle()
> > Do
> > n = n + 1
> > a = (n - 1) ^ 0.5
> > b = (n + 1) ^ (1 / 3)
> > If (a Mod Int(a) = 0) And (b Mod Int(b) = 0) Then Exit Do
> > Loop
> > [a1] = n
> > End Sub
> > mais ça ne fonctionne pas non plus!
> > "Tatanka" a écrit dans le message de news: i36dvg$
> >> Bonjour Isabelle,
> >> Tu as très bien compris la question et moi j'ai compris que tu voulais écrire ^ plutôt que * dans :
> >> If ((n - 1) * (1 / 2)) Mod Int((n - 1) * (1 / 2)) = 0 And (n + 1) * (1 / 3) Mod Int((n + 1) * (1 / 3)) = 0 Then
> >> Voici une solution ne contenant que 72 caractères sans compter les espaces :
> >> Sub Fermat_Serge()
> >> Do
> >> n = n + 1
> >> a = (n - 1) ^ 0.5
> >> b = (n + 1) ^ (1 / 3)
> >> If Int(a) = a And Int(b) = b Then Exit Do
> >> Loop
> >> [a1] = n
> >> End Sub
> >> Mais curieusement :
> >> Sub Fermat_Isabelle()
> >> Do
> >> n = n + 1
> >> a = (n - 1) ^ 0.5
> >> b = (n + 1) ^ (1 / 3)
> >> If (a Mod Int(a) = 0) And (b Mod Int(b)) = 0 Then Exit Do
> >> Loop
> >> [a1] = n
> >> End Sub
> >> ne fonctionne pas!
> >> Por qué?
> >> A--
> >> Serge
> >> "isabelle" a écrit dans le message de news: i35djs$
> >>> bonjour Serge,
> >>> je n'ai peut être pas compris la donne mais selon ma compréhension, un seul j'en doute... n(2,5,17,26,50,65...)
> >>> =ET(MOD(RACINE(A1-1);ENT(RACINE(A1-1)))=0;MOD((A1+1)*(1/3);ENT((A1+1)*(1/3)))=0)
> >>> If ((n - 1) * (1 / 2)) Mod Int((n - 1) * (1 / 2)) = 0 And (n + 1) * (1 / 3) Mod Int((n + 1) * (1 / 3)) = 0 Then
> >>> isabelle
> >>> Le 2010-08-01 17:22, Tatanka a écrit :
> >>>> Bonjour,
> >>>> Il existe un seul nombre entier positif (Pierre de Fermat) tel que
> >>>> celui qui le précède est un carré et celui qui le suit est un cube.
> >>>> Quelle serait la plus courte macro permettant de le débusquer ?
> >>>> En souvenir de la plus courte formule :-)
> >>>> Serge- Masquer le texte des messages précédents -
> - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Est-ce que tu peux faire fonctionner ta macro en utilisant
If (a Mod Int(a) = 0) And (b Mod Int(b) = 0)
plutôt que
If (a - Int(a) = 0) And (b - Int(b) = 0) ?
"LSteph" <gmlst...@gmail.com> a écrit dans le message de news:
243a8fe7-1139-458a-849e-5ba018083...@x24g2000pro.googlegroups.com...
Objection toutefois par rapport au sujet:
Il y a certes un légère différence c'est indéniable mais ce n'est pas
la raison pour laquelle le code de Serge ne fonctionnait pas
Il suffit de tester ce code avec ou sans déclaration du type
et le résultat est éloquent on a 26 dans le bon cas
et 2 dans le mauvais ' comme ici en commentaire
Sub Fermat_Steph()
'Dim a As Single, n As Single, b As Single
n = 2
test = False
Do
a = (n - 1) ^ 0.5
b = (n + 1) ^ (1 / 3)
If (a - Int(a) = 0) And (b - Int(b) = 0) Then test = True:
Exit Do
n = n + 1
Loop While test = False
[a1] = n
End Sub
On 2 août, 18:00, "michdenis" <michde...@hotmail.com> wrote:
> | Quelqu'un peut-il m'expliquer l'intérêt d'une telle chose?
> Les concepteurs - programmeurs des fonctions de la feuille de calcul ne sont pas les mêmes que ceux des fonctions
> appartenant aux VBA. En conséquence, il y a des petites différences...
> Un autre exemple :
> Feuille de calcul : =Arrondi(6.65;1) retourne 6.7
> En VBA = Round(6.65,1) retourne 6.6
> Les 2 fonctions réfèrent à des codes différents -> ce sont 2 fonctions différentes.
> Celle en VBA est déficiente dans l'exemple donné.
> Il vaut mieux utiliser = Application.WorksheetFunction.Round(6.65,1)
> sachant que Application.WorksheetFunction utilise les fonctions de la feuille de calcul
> --
> MichD
> --------------------------------------------
> "Tatanka" <garnote3ENLE...@videotron.ca> a écrit dans le message de groupe de discussion :
> i36o4t$9n...@speranza.aioe.org...
> Bizz!
> Sur une feuille de calcul, a-ENT(a) est toujours égal à MOD(a;ENT(a)).
> Par contre, en VBA, a-Int(a) n'est pas toujours égal à a Mod Int(a).
> Ce qui explique la défaillance de la macro Fermat_Isabelle.
> Quand même curieux que le modulo du VBA ne soit pas identique
> au modulo d'une feuille de calcul!
> Quelqu'un peut-il m'expliquer l'intérêt d'une telle chose?
> Serge
> "Tatanka" <garnote3ENLE...@videotron.ca> a écrit dans le message de news: i36f4u$rg...@speranza.aioe.org...
> > Plutôt ceci :
> > Sub Fermat_Isabelle()
> > Do
> > n = n + 1
> > a = (n - 1) ^ 0.5
> > b = (n + 1) ^ (1 / 3)
> > If (a Mod Int(a) = 0) And (b Mod Int(b) = 0) Then Exit Do
> > Loop
> > [a1] = n
> > End Sub
> > mais ça ne fonctionne pas non plus!
> > "Tatanka" <garnote3ENLE...@videotron.ca> a écrit dans le message de news: i36dvg$ps...@speranza.aioe.org...
> >> Bonjour Isabelle,
> >> Tu as très bien compris la question et moi j'ai compris que tu voulais écrire ^ plutôt que * dans :
> >> If ((n - 1) * (1 / 2)) Mod Int((n - 1) * (1 / 2)) = 0 And (n + 1) * (1 / 3) Mod Int((n + 1) * (1 / 3)) = 0 Then
> >> Voici une solution ne contenant que 72 caractères sans compter les espaces :
> >> Sub Fermat_Serge()
> >> Do
> >> n = n + 1
> >> a = (n - 1) ^ 0.5
> >> b = (n + 1) ^ (1 / 3)
> >> If Int(a) = a And Int(b) = b Then Exit Do
> >> Loop
> >> [a1] = n
> >> End Sub
> >> Mais curieusement :
> >> Sub Fermat_Isabelle()
> >> Do
> >> n = n + 1
> >> a = (n - 1) ^ 0.5
> >> b = (n + 1) ^ (1 / 3)
> >> If (a Mod Int(a) = 0) And (b Mod Int(b)) = 0 Then Exit Do
> >> Loop
> >> [a1] = n
> >> End Sub
> >> ne fonctionne pas!
> >> Por qué?
> >> A--
> >> Serge
> >> "isabelle" <i...@v.org> a écrit dans le message de news: i35djs$g4...@speranza.aioe.org...
> >>> bonjour Serge,
> >>> je n'ai peut être pas compris la donne mais selon ma compréhension, un seul j'en doute... n(2,5,17,26,50,65...)
> >>> =ET(MOD(RACINE(A1-1);ENT(RACINE(A1-1)))=0;MOD((A1+1)*(1/3);ENT((A1+1)*(1/3)))=0)
> >>> If ((n - 1) * (1 / 2)) Mod Int((n - 1) * (1 / 2)) = 0 And (n + 1) * (1 / 3) Mod Int((n + 1) * (1 / 3)) = 0 Then
> >>> isabelle
> >>> Le 2010-08-01 17:22, Tatanka a écrit :
> >>>> Bonjour,
> >>>> Il existe un seul nombre entier positif (Pierre de Fermat) tel que
> >>>> celui qui le précède est un carré et celui qui le suit est un cube.
> >>>> Quelle serait la plus courte macro permettant de le débusquer ?
> >>>> En souvenir de la plus courte formule :-)
> >>>> Serge- Masquer le texte des messages précédents -
> - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Est-ce que tu peux faire fonctionner ta macro en utilisant
If (a Mod Int(a) = 0) And (b Mod Int(b) = 0)
plutôt que
If (a - Int(a) = 0) And (b - Int(b) = 0) ?
"LSteph" a écrit dans le message de news:
Objection toutefois par rapport au sujet:
Il y a certes un légère différence c'est indéniable mais ce n'est pas
la raison pour laquelle le code de Serge ne fonctionnait pas
Il suffit de tester ce code avec ou sans déclaration du type
et le résultat est éloquent on a 26 dans le bon cas
et 2 dans le mauvais ' comme ici en commentaire
Sub Fermat_Steph()
'Dim a As Single, n As Single, b As Single
n = 2
test = False
Do
a = (n - 1) ^ 0.5
b = (n + 1) ^ (1 / 3)
If (a - Int(a) = 0) And (b - Int(b) = 0) Then test = True:
Exit Do
n = n + 1
Loop While test = False
[a1] = n
End Sub
On 2 août, 18:00, "michdenis" wrote:
> | Quelqu'un peut-il m'expliquer l'intérêt d'une telle chose?
> Les concepteurs - programmeurs des fonctions de la feuille de calcul ne sont pas les mêmes que ceux des fonctions
> appartenant aux VBA. En conséquence, il y a des petites différences...
> Un autre exemple :
> Feuille de calcul : =Arrondi(6.65;1) retourne 6.7
> En VBA = Round(6.65,1) retourne 6.6
> Les 2 fonctions réfèrent à des codes différents -> ce sont 2 fonctions différentes.
> Celle en VBA est déficiente dans l'exemple donné.
> Il vaut mieux utiliser = Application.WorksheetFunction.Round(6.65,1)
> sachant que Application.WorksheetFunction utilise les fonctions de la feuille de calcul
> --
> MichD
> --------------------------------------------
> "Tatanka" a écrit dans le message de groupe de discussion :
> i36o4t$
> Bizz!
> Sur une feuille de calcul, a-ENT(a) est toujours égal à MOD(a;ENT(a)).
> Par contre, en VBA, a-Int(a) n'est pas toujours égal à a Mod Int(a).
> Ce qui explique la défaillance de la macro Fermat_Isabelle.
> Quand même curieux que le modulo du VBA ne soit pas identique
> au modulo d'une feuille de calcul!
> Quelqu'un peut-il m'expliquer l'intérêt d'une telle chose?
> Serge
> "Tatanka" a écrit dans le message de news: i36f4u$
> > Plutôt ceci :
> > Sub Fermat_Isabelle()
> > Do
> > n = n + 1
> > a = (n - 1) ^ 0.5
> > b = (n + 1) ^ (1 / 3)
> > If (a Mod Int(a) = 0) And (b Mod Int(b) = 0) Then Exit Do
> > Loop
> > [a1] = n
> > End Sub
> > mais ça ne fonctionne pas non plus!
> > "Tatanka" a écrit dans le message de news: i36dvg$
> >> Bonjour Isabelle,
> >> Tu as très bien compris la question et moi j'ai compris que tu voulais écrire ^ plutôt que * dans :
> >> If ((n - 1) * (1 / 2)) Mod Int((n - 1) * (1 / 2)) = 0 And (n + 1) * (1 / 3) Mod Int((n + 1) * (1 / 3)) = 0 Then
> >> Voici une solution ne contenant que 72 caractères sans compter les espaces :
> >> Sub Fermat_Serge()
> >> Do
> >> n = n + 1
> >> a = (n - 1) ^ 0.5
> >> b = (n + 1) ^ (1 / 3)
> >> If Int(a) = a And Int(b) = b Then Exit Do
> >> Loop
> >> [a1] = n
> >> End Sub
> >> Mais curieusement :
> >> Sub Fermat_Isabelle()
> >> Do
> >> n = n + 1
> >> a = (n - 1) ^ 0.5
> >> b = (n + 1) ^ (1 / 3)
> >> If (a Mod Int(a) = 0) And (b Mod Int(b)) = 0 Then Exit Do
> >> Loop
> >> [a1] = n
> >> End Sub
> >> ne fonctionne pas!
> >> Por qué?
> >> A--
> >> Serge
> >> "isabelle" a écrit dans le message de news: i35djs$
> >>> bonjour Serge,
> >>> je n'ai peut être pas compris la donne mais selon ma compréhension, un seul j'en doute... n(2,5,17,26,50,65...)
> >>> =ET(MOD(RACINE(A1-1);ENT(RACINE(A1-1)))=0;MOD((A1+1)*(1/3);ENT((A1+1)*(1/3)))=0)
> >>> If ((n - 1) * (1 / 2)) Mod Int((n - 1) * (1 / 2)) = 0 And (n + 1) * (1 / 3) Mod Int((n + 1) * (1 / 3)) = 0 Then
> >>> isabelle
> >>> Le 2010-08-01 17:22, Tatanka a écrit :
> >>>> Bonjour,
> >>>> Il existe un seul nombre entier positif (Pierre de Fermat) tel que
> >>>> celui qui le précède est un carré et celui qui le suit est un cube.
> >>>> Quelle serait la plus courte macro permettant de le débusquer ?
> >>>> En souvenir de la plus courte formule :-)
> >>>> Serge- Masquer le texte des messages précédents -
> - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Avant de partir sur une autre considération
Suite à tes questions précédentes je n'ai toujours pas pu m'assurer
que tu avais bien essayé ceci qui me semble répondre(pour le reste
essaye aussi ;o)
:
Sub Fermat_Steph()
Dim a As Single, n As Single, b As Single
n = 2
test = False
Do
a = (n - 1) ^ 0.5
b = (n + 1) ^ (1 / 3)
If (a - Int(a) = 0) And (b - Int(b) = 0) Then test = True:Exit Do
n = n + 1
Loop While test = False
[a1] = n
End Sub
On 2 août, 18:25, "Tatanka" wrote:
> Est-ce que tu peux faire fonctionner ta macro en utilisant
> If (a Mod Int(a) = 0) And (b Mod Int(b) = 0)
> plutôt que
> If (a - Int(a) = 0) And (b - Int(b) = 0) ?
> "LSteph" a écrit dans le message de news: 243a8f
> Objection toutefois par rapport au sujet:
> Il y a certes un légère différence c'est indéniable mais ce n'e st pas
> la raison pour laquelle le code de Serge ne fonctionnait pas
> Il suffit de tester ce code avec ou sans déclaration du type
> et le résultat est éloquent on a 26 dans le bon cas
> et 2 dans le mauvais ' comme ici en commentaire
> Sub Fermat_Steph()
> 'Dim a As Single, n As Single, b As Single
> n = 2
> test = False
> Do
> a = (n - 1) ^ 0.5
> b = (n + 1) ^ (1 / 3)
> If (a - Int(a) = 0) And (b - Int(b) = 0) Then test = True:
> Exit Do
> n = n + 1
> Loop While test = False
> [a1] = n
> End Sub
> On 2 août, 18:00, "michdenis" wrote:
> > | Quelqu'un peut-il m'expliquer l'intérêt d'une telle chose?
> > Les concepteurs - programmeurs des fonctions de la feuille de calcul ne sont pas les mêmes que ceux des fonctions
> > appartenant aux VBA. En conséquence, il y a des petites différenc es...
> > Un autre exemple :
> > Feuille de calcul : =Arrondi(6.65;1) retourne 6.7
> > En VBA = Round(6.65,1) retourne 6.6
> > Les 2 fonctions réfèrent à des codes différents -> ce sont 2 fonctions différentes.
> > Celle en VBA est déficiente dans l'exemple donné.
> > Il vaut mieux utiliser = Application.WorksheetFunction.Round(6.65,1 )
> > sachant que Application.WorksheetFunction utilise les fonctions de la feuille de calcul
> > --
> > MichD
> > --------------------------------------------
> > "Tatanka" a écrit dans le message de groupe de discussion :
> > i36o4t$
> > Bizz!
> > Sur une feuille de calcul, a-ENT(a) est toujours égal à MOD(a;ENT (a)).
> > Par contre, en VBA, a-Int(a) n'est pas toujours égal à a Mod Int( a).
> > Ce qui explique la défaillance de la macro Fermat_Isabelle.
> > Quand même curieux que le modulo du VBA ne soit pas identique
> > au modulo d'une feuille de calcul!
> > Quelqu'un peut-il m'expliquer l'intérêt d'une telle chose?
> > Serge
> > "Tatanka" a écrit dans le message de news: i36f4u$
> > > Plutôt ceci :
> > > Sub Fermat_Isabelle()
> > > Do
> > > n = n + 1
> > > a = (n - 1) ^ 0.5
> > > b = (n + 1) ^ (1 / 3)
> > > If (a Mod Int(a) = 0) And (b Mod Int(b) = 0) Then Exit Do
> > > Loop
> > > [a1] = n
> > > End Sub
> > > mais ça ne fonctionne pas non plus!
> > > "Tatanka" a écrit dans le message de news: i36dvg$
> > >> Bonjour Isabelle,
> > >> Tu as très bien compris la question et moi j'ai compris que tu v oulais écrire ^ plutôt que * dans :
> > >> If ((n - 1) * (1 / 2)) Mod Int((n - 1) * (1 / 2)) = 0 And (n + 1 ) * (1 / 3) Mod Int((n + 1) * (1 / 3)) = 0 Then
> > >> Voici une solution ne contenant que 72 caractères sans compter l es espaces :
> > >> Sub Fermat_Serge()
> > >> Do
> > >> n = n + 1
> > >> a = (n - 1) ^ 0.5
> > >> b = (n + 1) ^ (1 / 3)
> > >> If Int(a) = a And Int(b) = b Then Exit Do
> > >> Loop
> > >> [a1] = n
> > >> End Sub
> > >> Mais curieusement :
> > >> Sub Fermat_Isabelle()
> > >> Do
> > >> n = n + 1
> > >> a = (n - 1) ^ 0.5
> > >> b = (n + 1) ^ (1 / 3)
> > >> If (a Mod Int(a) = 0) And (b Mod Int(b)) = 0 Then Exit Do
> > >> Loop
> > >> [a1] = n
> > >> End Sub
> > >> ne fonctionne pas!
> > >> Por qué?
> > >> A--
> > >> Serge
> > >> "isabelle" a écrit dans le message de news: i35djs$
> > >>> bonjour Serge,
> > >>> je n'ai peut être pas compris la donne mais selon ma compréhe nsion, un seul j'en doute... n(2,5,17,26,50,65...)
> > >>> =ET(MOD(RACINE(A1-1);ENT(RACINE(A1-1)))=0;MOD((A1+1)*(1/3);EN T((A1+1)*(1/3)))=0)
> > >>> If ((n - 1) * (1 / 2)) Mod Int((n - 1) * (1 / 2)) = 0 And (n + 1) * (1 / 3) Mod Int((n + 1) * (1 / 3)) = 0 Then
> > >>> isabelle
> > >>> Le 2010-08-01 17:22, Tatanka a écrit :
> > >>>> Bonjour,
> > >>>> Il existe un seul nombre entier positif (Pierre de Fermat) tel q ue
> > >>>> celui qui le précède est un carré et celui qui le suit est un cube.
> > >>>> Quelle serait la plus courte macro permettant de le débusquer ?
> > >>>> En souvenir de la plus courte formule :-)
> > >>>> Serge- Masquer le texte des messages précédents -
> > - Afficher le texte des messages précédents -- Masquer le texte d es messages précédents -
> - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Avant de partir sur une autre considération
Suite à tes questions précédentes je n'ai toujours pas pu m'assurer
que tu avais bien essayé ceci qui me semble répondre(pour le reste
essaye aussi ;o)
:
Sub Fermat_Steph()
Dim a As Single, n As Single, b As Single
n = 2
test = False
Do
a = (n - 1) ^ 0.5
b = (n + 1) ^ (1 / 3)
If (a - Int(a) = 0) And (b - Int(b) = 0) Then test = True:Exit Do
n = n + 1
Loop While test = False
[a1] = n
End Sub
On 2 août, 18:25, "Tatanka" <garnote3ENLE...@videotron.ca> wrote:
> Est-ce que tu peux faire fonctionner ta macro en utilisant
> If (a Mod Int(a) = 0) And (b Mod Int(b) = 0)
> plutôt que
> If (a - Int(a) = 0) And (b - Int(b) = 0) ?
> "LSteph" <gmlst...@gmail.com> a écrit dans le message de news: 243a8f e7-1139-458a-849e-5ba018083...@x24g2000pro.googlegroups.com...
> Objection toutefois par rapport au sujet:
> Il y a certes un légère différence c'est indéniable mais ce n'e st pas
> la raison pour laquelle le code de Serge ne fonctionnait pas
> Il suffit de tester ce code avec ou sans déclaration du type
> et le résultat est éloquent on a 26 dans le bon cas
> et 2 dans le mauvais ' comme ici en commentaire
> Sub Fermat_Steph()
> 'Dim a As Single, n As Single, b As Single
> n = 2
> test = False
> Do
> a = (n - 1) ^ 0.5
> b = (n + 1) ^ (1 / 3)
> If (a - Int(a) = 0) And (b - Int(b) = 0) Then test = True:
> Exit Do
> n = n + 1
> Loop While test = False
> [a1] = n
> End Sub
> On 2 août, 18:00, "michdenis" <michde...@hotmail.com> wrote:
> > | Quelqu'un peut-il m'expliquer l'intérêt d'une telle chose?
> > Les concepteurs - programmeurs des fonctions de la feuille de calcul ne sont pas les mêmes que ceux des fonctions
> > appartenant aux VBA. En conséquence, il y a des petites différenc es...
> > Un autre exemple :
> > Feuille de calcul : =Arrondi(6.65;1) retourne 6.7
> > En VBA = Round(6.65,1) retourne 6.6
> > Les 2 fonctions réfèrent à des codes différents -> ce sont 2 fonctions différentes.
> > Celle en VBA est déficiente dans l'exemple donné.
> > Il vaut mieux utiliser = Application.WorksheetFunction.Round(6.65,1 )
> > sachant que Application.WorksheetFunction utilise les fonctions de la feuille de calcul
> > --
> > MichD
> > --------------------------------------------
> > "Tatanka" <garnote3ENLE...@videotron.ca> a écrit dans le message de groupe de discussion :
> > i36o4t$9n...@speranza.aioe.org...
> > Bizz!
> > Sur une feuille de calcul, a-ENT(a) est toujours égal à MOD(a;ENT (a)).
> > Par contre, en VBA, a-Int(a) n'est pas toujours égal à a Mod Int( a).
> > Ce qui explique la défaillance de la macro Fermat_Isabelle.
> > Quand même curieux que le modulo du VBA ne soit pas identique
> > au modulo d'une feuille de calcul!
> > Quelqu'un peut-il m'expliquer l'intérêt d'une telle chose?
> > Serge
> > "Tatanka" <garnote3ENLE...@videotron.ca> a écrit dans le message de news: i36f4u$rg...@speranza.aioe.org...
> > > Plutôt ceci :
> > > Sub Fermat_Isabelle()
> > > Do
> > > n = n + 1
> > > a = (n - 1) ^ 0.5
> > > b = (n + 1) ^ (1 / 3)
> > > If (a Mod Int(a) = 0) And (b Mod Int(b) = 0) Then Exit Do
> > > Loop
> > > [a1] = n
> > > End Sub
> > > mais ça ne fonctionne pas non plus!
> > > "Tatanka" <garnote3ENLE...@videotron.ca> a écrit dans le message de news: i36dvg$ps...@speranza.aioe.org...
> > >> Bonjour Isabelle,
> > >> Tu as très bien compris la question et moi j'ai compris que tu v oulais écrire ^ plutôt que * dans :
> > >> If ((n - 1) * (1 / 2)) Mod Int((n - 1) * (1 / 2)) = 0 And (n + 1 ) * (1 / 3) Mod Int((n + 1) * (1 / 3)) = 0 Then
> > >> Voici une solution ne contenant que 72 caractères sans compter l es espaces :
> > >> Sub Fermat_Serge()
> > >> Do
> > >> n = n + 1
> > >> a = (n - 1) ^ 0.5
> > >> b = (n + 1) ^ (1 / 3)
> > >> If Int(a) = a And Int(b) = b Then Exit Do
> > >> Loop
> > >> [a1] = n
> > >> End Sub
> > >> Mais curieusement :
> > >> Sub Fermat_Isabelle()
> > >> Do
> > >> n = n + 1
> > >> a = (n - 1) ^ 0.5
> > >> b = (n + 1) ^ (1 / 3)
> > >> If (a Mod Int(a) = 0) And (b Mod Int(b)) = 0 Then Exit Do
> > >> Loop
> > >> [a1] = n
> > >> End Sub
> > >> ne fonctionne pas!
> > >> Por qué?
> > >> A--
> > >> Serge
> > >> "isabelle" <i...@v.org> a écrit dans le message de news: i35djs$ g4...@speranza.aioe.org...
> > >>> bonjour Serge,
> > >>> je n'ai peut être pas compris la donne mais selon ma compréhe nsion, un seul j'en doute... n(2,5,17,26,50,65...)
> > >>> =ET(MOD(RACINE(A1-1);ENT(RACINE(A1-1)))=0;MOD((A1+1)*(1/3);EN T((A1+1)*(1/3)))=0)
> > >>> If ((n - 1) * (1 / 2)) Mod Int((n - 1) * (1 / 2)) = 0 And (n + 1) * (1 / 3) Mod Int((n + 1) * (1 / 3)) = 0 Then
> > >>> isabelle
> > >>> Le 2010-08-01 17:22, Tatanka a écrit :
> > >>>> Bonjour,
> > >>>> Il existe un seul nombre entier positif (Pierre de Fermat) tel q ue
> > >>>> celui qui le précède est un carré et celui qui le suit est un cube.
> > >>>> Quelle serait la plus courte macro permettant de le débusquer ?
> > >>>> En souvenir de la plus courte formule :-)
> > >>>> Serge- Masquer le texte des messages précédents -
> > - Afficher le texte des messages précédents -- Masquer le texte d es messages précédents -
> - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Avant de partir sur une autre considération
Suite à tes questions précédentes je n'ai toujours pas pu m'assurer
que tu avais bien essayé ceci qui me semble répondre(pour le reste
essaye aussi ;o)
:
Sub Fermat_Steph()
Dim a As Single, n As Single, b As Single
n = 2
test = False
Do
a = (n - 1) ^ 0.5
b = (n + 1) ^ (1 / 3)
If (a - Int(a) = 0) And (b - Int(b) = 0) Then test = True:Exit Do
n = n + 1
Loop While test = False
[a1] = n
End Sub
On 2 août, 18:25, "Tatanka" wrote:
> Est-ce que tu peux faire fonctionner ta macro en utilisant
> If (a Mod Int(a) = 0) And (b Mod Int(b) = 0)
> plutôt que
> If (a - Int(a) = 0) And (b - Int(b) = 0) ?
> "LSteph" a écrit dans le message de news: 243a8f
> Objection toutefois par rapport au sujet:
> Il y a certes un légère différence c'est indéniable mais ce n'e st pas
> la raison pour laquelle le code de Serge ne fonctionnait pas
> Il suffit de tester ce code avec ou sans déclaration du type
> et le résultat est éloquent on a 26 dans le bon cas
> et 2 dans le mauvais ' comme ici en commentaire
> Sub Fermat_Steph()
> 'Dim a As Single, n As Single, b As Single
> n = 2
> test = False
> Do
> a = (n - 1) ^ 0.5
> b = (n + 1) ^ (1 / 3)
> If (a - Int(a) = 0) And (b - Int(b) = 0) Then test = True:
> Exit Do
> n = n + 1
> Loop While test = False
> [a1] = n
> End Sub
> On 2 août, 18:00, "michdenis" wrote:
> > | Quelqu'un peut-il m'expliquer l'intérêt d'une telle chose?
> > Les concepteurs - programmeurs des fonctions de la feuille de calcul ne sont pas les mêmes que ceux des fonctions
> > appartenant aux VBA. En conséquence, il y a des petites différenc es...
> > Un autre exemple :
> > Feuille de calcul : =Arrondi(6.65;1) retourne 6.7
> > En VBA = Round(6.65,1) retourne 6.6
> > Les 2 fonctions réfèrent à des codes différents -> ce sont 2 fonctions différentes.
> > Celle en VBA est déficiente dans l'exemple donné.
> > Il vaut mieux utiliser = Application.WorksheetFunction.Round(6.65,1 )
> > sachant que Application.WorksheetFunction utilise les fonctions de la feuille de calcul
> > --
> > MichD
> > --------------------------------------------
> > "Tatanka" a écrit dans le message de groupe de discussion :
> > i36o4t$
> > Bizz!
> > Sur une feuille de calcul, a-ENT(a) est toujours égal à MOD(a;ENT (a)).
> > Par contre, en VBA, a-Int(a) n'est pas toujours égal à a Mod Int( a).
> > Ce qui explique la défaillance de la macro Fermat_Isabelle.
> > Quand même curieux que le modulo du VBA ne soit pas identique
> > au modulo d'une feuille de calcul!
> > Quelqu'un peut-il m'expliquer l'intérêt d'une telle chose?
> > Serge
> > "Tatanka" a écrit dans le message de news: i36f4u$
> > > Plutôt ceci :
> > > Sub Fermat_Isabelle()
> > > Do
> > > n = n + 1
> > > a = (n - 1) ^ 0.5
> > > b = (n + 1) ^ (1 / 3)
> > > If (a Mod Int(a) = 0) And (b Mod Int(b) = 0) Then Exit Do
> > > Loop
> > > [a1] = n
> > > End Sub
> > > mais ça ne fonctionne pas non plus!
> > > "Tatanka" a écrit dans le message de news: i36dvg$
> > >> Bonjour Isabelle,
> > >> Tu as très bien compris la question et moi j'ai compris que tu v oulais écrire ^ plutôt que * dans :
> > >> If ((n - 1) * (1 / 2)) Mod Int((n - 1) * (1 / 2)) = 0 And (n + 1 ) * (1 / 3) Mod Int((n + 1) * (1 / 3)) = 0 Then
> > >> Voici une solution ne contenant que 72 caractères sans compter l es espaces :
> > >> Sub Fermat_Serge()
> > >> Do
> > >> n = n + 1
> > >> a = (n - 1) ^ 0.5
> > >> b = (n + 1) ^ (1 / 3)
> > >> If Int(a) = a And Int(b) = b Then Exit Do
> > >> Loop
> > >> [a1] = n
> > >> End Sub
> > >> Mais curieusement :
> > >> Sub Fermat_Isabelle()
> > >> Do
> > >> n = n + 1
> > >> a = (n - 1) ^ 0.5
> > >> b = (n + 1) ^ (1 / 3)
> > >> If (a Mod Int(a) = 0) And (b Mod Int(b)) = 0 Then Exit Do
> > >> Loop
> > >> [a1] = n
> > >> End Sub
> > >> ne fonctionne pas!
> > >> Por qué?
> > >> A--
> > >> Serge
> > >> "isabelle" a écrit dans le message de news: i35djs$
> > >>> bonjour Serge,
> > >>> je n'ai peut être pas compris la donne mais selon ma compréhe nsion, un seul j'en doute... n(2,5,17,26,50,65...)
> > >>> =ET(MOD(RACINE(A1-1);ENT(RACINE(A1-1)))=0;MOD((A1+1)*(1/3);EN T((A1+1)*(1/3)))=0)
> > >>> If ((n - 1) * (1 / 2)) Mod Int((n - 1) * (1 / 2)) = 0 And (n + 1) * (1 / 3) Mod Int((n + 1) * (1 / 3)) = 0 Then
> > >>> isabelle
> > >>> Le 2010-08-01 17:22, Tatanka a écrit :
> > >>>> Bonjour,
> > >>>> Il existe un seul nombre entier positif (Pierre de Fermat) tel q ue
> > >>>> celui qui le précède est un carré et celui qui le suit est un cube.
> > >>>> Quelle serait la plus courte macro permettant de le débusquer ?
> > >>>> En souvenir de la plus courte formule :-)
> > >>>> Serge- Masquer le texte des messages précédents -
> > - Afficher le texte des messages précédents -- Masquer le texte d es messages précédents -
> - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
"et bien sans aller jusqu'à considérer les secrets des programmeurs
évoqués par ailleurs il est écrit ceci dans l'aide tout en bas:
"La partie décimale est tronquée"
Donc le reste de 10.2/5 devient l'expression 0
le reste de 10.2/3 devient 1
il y a bien un reste mais seul un reste entier est considéré."
Oui oui, c'est bien ce que j'avais remarqué.
Mais je ne comprends toujours pas pourquoi les programmeurs VBA
n'ont pas téléphoné aux programmeurs de formules de feuilles de cal cul
pour faire en sorte que a Mod b donne le même résultat que MOD(a;b ) :-)))
"et bien sans aller jusqu'à considérer les secrets des programmeurs
évoqués par ailleurs il est écrit ceci dans l'aide tout en bas:
"La partie décimale est tronquée"
Donc le reste de 10.2/5 devient l'expression 0
le reste de 10.2/3 devient 1
il y a bien un reste mais seul un reste entier est considéré."
Oui oui, c'est bien ce que j'avais remarqué.
Mais je ne comprends toujours pas pourquoi les programmeurs VBA
n'ont pas téléphoné aux programmeurs de formules de feuilles de cal cul
pour faire en sorte que a Mod b donne le même résultat que MOD(a;b ) :-)))
"et bien sans aller jusqu'à considérer les secrets des programmeurs
évoqués par ailleurs il est écrit ceci dans l'aide tout en bas:
"La partie décimale est tronquée"
Donc le reste de 10.2/5 devient l'expression 0
le reste de 10.2/3 devient 1
il y a bien un reste mais seul un reste entier est considéré."
Oui oui, c'est bien ce que j'avais remarqué.
Mais je ne comprends toujours pas pourquoi les programmeurs VBA
n'ont pas téléphoné aux programmeurs de formules de feuilles de cal cul
pour faire en sorte que a Mod b donne le même résultat que MOD(a;b ) :-)))