Existe t-il une formulation VB pour vérifier le caractère 'entier' d'une
fraction ?
En fait le but est de créer une macro pour verifier si un nombre est premier
ou non.
La manoeuvre consisterait à tester un nombre en le soumettant aux diviseurs
principaux 2,3,9,11 etc... si aucune de ces divisions ne donne un résultat
entier, c'est que le nombre testé n'accepterait que l'unité et lui même comme
diviseur, donc qu'il serait premier.
Voila ce que j'ai pu écrire (ça semble fonctionner)
Sub liste_prem()
For lnp = 1 To 10000
Range("b3").Value = lnp
i = 0
If lnp Mod 2 = 0 And lnp > 2 Then 'multiple de 2 donc non premier i = i + 1 ElseIf lnp Mod 3 = 0 And lnp > 3 Then i = i + 1 ElseIf lnp Mod 5 = 0 And lnp > 5 Then i = i + 1 ElseIf lnp Mod 7 = 0 And lnp > 7 Then i = i + 1 ElseIf lnp Mod 11 = 0 And lnp > 11 Then i = i + 1
Voila ce que j'ai pu écrire (ça semble fonctionner)
Sub liste_prem()
For lnp = 1 To 10000
Range("b3").Value = lnp
i = 0
If lnp Mod 2 = 0 And lnp > 2 Then
'multiple de 2 donc non premier
i = i + 1
ElseIf lnp Mod 3 = 0 And lnp > 3 Then
i = i + 1
ElseIf lnp Mod 5 = 0 And lnp > 5 Then
i = i + 1
ElseIf lnp Mod 7 = 0 And lnp > 7 Then
i = i + 1
ElseIf lnp Mod 11 = 0 And lnp > 11 Then
i = i + 1
Voila ce que j'ai pu écrire (ça semble fonctionner)
Sub liste_prem()
For lnp = 1 To 10000
Range("b3").Value = lnp
i = 0
If lnp Mod 2 = 0 And lnp > 2 Then 'multiple de 2 donc non premier i = i + 1 ElseIf lnp Mod 3 = 0 And lnp > 3 Then i = i + 1 ElseIf lnp Mod 5 = 0 And lnp > 5 Then i = i + 1 ElseIf lnp Mod 7 = 0 And lnp > 7 Then i = i + 1 ElseIf lnp Mod 11 = 0 And lnp > 11 Then i = i + 1