nombre premier

Mattttttttttrix

XLDnaute Junior
salut

Je suis en rtain de peter un plomb :D

En gros, j'essaye de faire un code VBA qui quand je rentre un nombre X, me trouve tout les nombre premiers inferieurs ou egale a X

Sub calculdenombrepremier()
Dim X As Integer
Dim i As Integer
Dim j As Integer

X = Cells(3, 4)

For i = 2 To X
For j = Cells(2, 2) To Range("B65536").End(xlUp)
If i Mod j = 0 And i <> j Then
'quedalle
Else
Cells(1 + i, 2).Value = i
End If
Next j
Next i
End Sub


Voila...
je suis larguer complet, je me perd dans mes idées et je m'en sors pas :mad:
Merci
 

KenDev

XLDnaute Impliqué
Re : nombre premier

Re,

Ben, à toi de voir si ta question est liée ou non à ce fil. Mon message précédent n'est pas une plaisanterie : dans ton premier post, il y a un classeur (c'est bien), des explications (c'est très bien) mais ne manque t-il pas la question ? Cordialement

KD
 

scaramosca

XLDnaute Nouveau
Re : nombre premier

A la demande générale d'une personne, je vais poser ma question qui est en fait une demande d'aide.

Page 1, il y a mon classeur.

Vous allez rire quand vous verrez le travail de fourmi, le nombre de page etc...

Mes questions sont :

a chaque recherche, les résultats sont des nombres entier (peu) et des nombres avec des décimales.
1°) Ma question est : "A chaque calcul, est-il possible de ne faire apparaitre QUE les nombres entiers ?

2°) il y a t'il un moyen plus rapide? de faire ce que j'ai commencé

je souligne que le classeur excell que je vous présente, comporte 166 pages

j'éspère avoir été clair

Merci
 

ROGER2327

XLDnaute Barbatruc
Re : nombre premier

Bonjour à tous


Une formule :​
Code:
=-SI(A1>3;ET(MOD(A1;2);MOD(A1;1+2*LIGNE(INDIRECT("1:"&ARRONDI(RACINE(A1)/2;0)))));A1>1)
A1 contenant un nombre entier positif, elle renvoie -1 si A1 est premier, 0 sinon.
Limite de validité : vers deux milliards quatre-cents millions.

LA FORMULE DOIT ÊTRE VALIDÉE PAR Ctrl Maj Entrée.​


ROGER2327
#6020


Lundi 16 Gidouille 139 (Saint Inventaire, poète - fête Suprême Quarte)
12 Messidor An CCXX, 5,5248h - artichaut
2012-W26-6T13:15:35Z
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : nombre premier

Bonjour Mattttttttttrix ,

Un autre essai:

VB:
Sub PremiersBis()
Dim Base As Long, i As Long, j As Long
Dim Jmax As Long, Pas As Long, tablo As Variant
Dim Result As Variant

Range("C2:C" & Rows.Count).ClearContents
Base = Range("A2")
Application.ScreenUpdating = False

ReDim tablo(2 To Base)
For i = 2 To Base:    tablo(i) = i: Next i

j = 2
Do While j < Sqr(Base)
  If tablo(j) <> "" Then
    Pas = tablo(j)
    For i = j + Pas To Base Step Pas
      tablo(i) = ""
    Next i
  End If
  j = j + 1
Loop

j = 1
ReDim Result(2 To Base)
For i = 2 To Base
  If tablo(i) <> "" Then
    j = j + 1
    Result(j) = tablo(i)
  End If
Next i
ReDim Preserve Result(2 To j)
Range("C2").Resize(j - 1).Value = Application.Transpose(Result)
Application.ScreenUpdating = True
End Sub

Edit: Fichtre! Diantre! Pas vu qu'on avait exhumé un post antédiluvien. :mad:
 

Pièces jointes

  • Premiers v2.xls
    34 KB · Affichages: 48
Dernière édition:

ROGER2327

XLDnaute Barbatruc
Re : nombre premier

Re-bonjour scaramosca


Apparement, j'aurais du créer mon propre post.

Pas nécessairement : la preuve en est que vous avez déjà des réponses.

En voici une autre dans le classeur joint. Vous y trouverez des fonctions personnalisées vous donnant la décomposition d'un entier en produit de facteurs premiers. Ce n'est peut-être pas exactement ce que vous voulez, mais à partir de ces résultats, on pourra peut-être trouver une adaptation à vos besoins exacts.

J'essaierai de vous proposer dans la soirée ou dans la nuit d'autres pistes à base de formules Excel.​



ROGER2327
#6021


Lundi 16 Gidouille 139 (Saint Inventaire, poète - fête Suprême Quarte)
12 Messidor An CCXX, 6,3729h - artichaut
2012-W26-6T15:17:42Z
 

Pièces jointes

  • XLD_77715_Factorisation_première_et_nombre_de_diviseurs.xlsm
    31.5 KB · Affichages: 72

scaramosca

XLDnaute Nouveau
Re : nombre premier

Bonjour Roger.

Je vous remercie de votre temps passé sur ma question.

Je vais tenter de reformuler

Je possède déjà les nombres premiers de 1 à 10000019 dans un classeur (comme celui que vous avez certainement consulter).
Pour la décomposition, j'ai ce qu'il me faut aussi.

Pour l'instant, lorsque je cherche un nombre premier, je l'écris dans la petite case noir en haut à gauche de mon classeur, par exemple : "90517" et la, je suis obligé de controler jusqu'a la 16° page (il y a 166 pages) en regardant minutieusement si il y a des nombres entiers ou pas.

J'éspère avoir été clair...

NB.
Votre formule ci-dessus envoyée, je ne sais pas comment faire... Pour dire que je suis très très amateur. Tout est nouveau pour moi.
Le V.B.A ? ce n'est qu'aujourd'hui que j'ai vu ces trois lettre ensemble


Merci encore
 

scaramosca

XLDnaute Nouveau
Re : nombre premier

Je viens de trouver une astuce

1°) Je sélectionne tout mon tableau

2°) Je clique sur : "Mise en forme conventionelle"

3°) Puis : "Règle de mise en surbrillance des cellules"

4°) Puis : "Texte qui contient..."

5°) Dans la fenetre de gauche j'écris : " , " et je choisis la couleur noire.

Cela fait que l'orsque j'envoie un nombre, tout ce qui est avec une virgule se met en noir (ou blanc sur blanc), et laisse apparaitre sur fond blanc ses diviseurs.

Apparement, ça s'appelle plus le systeme D...

Mon autre casse tête est de controller la multitude de pages de mon classeur.
 

Pièces jointes

  • Nbr premiers.xls
    63 KB · Affichages: 57
  • Nbr premiers.xls
    63 KB · Affichages: 70
  • Nbr premiers.xls
    63 KB · Affichages: 70

ROGER2327

XLDnaute Barbatruc
Re : nombre premier

Bonjour à tous, bonjour scaramosca



Une autre proposition, sans VBA, dans le classeur joint.

Mettre le nombre (entier, bien sûr !) dans la cellule B3. Si les résultats qui apparaissent ne sont pas les bons, donnez les valeurs attendues...​



ROGER2327
#6022


Mardi 17 Gidouille 139 (Sainte Femelle, technicienne - fête Suprême Quarte)
13 Messidor An CCXX, 0,6810h - giroflée
2012-W26-7T01:38:04Z
 

Pièces jointes

  • XLD_77715_Factorisation_première(2).xlsx
    15.2 KB · Affichages: 78

ROGER2327

XLDnaute Barbatruc
Re : nombre premier

Bonjour à tous


Quelques simplifications (mineures) de certaines formules et une variante de présentation dans le classeur joint. L'avis de scaramosca sur le degré de pertinence de la proposition m'intéresse. Merci d'avance.​



ROGER2327
#6025


Mercredi 18 Gidouille 139 (Visitation de Mère Ubu - fête Suprême Seconde)
14 Messidor An CCXX, 6,5827h - lavande
2012-W27-1T15:47:55Z
 

Pièces jointes

  • XLD_77715_Factorisation_première(2bis).xlsx
    22.5 KB · Affichages: 88

scaramosca

XLDnaute Nouveau
Re : nombre premier

Bonjour Roger
Et pardonnez mon absence.
Entre probleme d'ordinateur
mon travail
mes amis...

enfin...
Oui, j'ai vu et apprécié votre travail
j'ai donc vu, les deux versions, qui, sur la page me semble identique mais dans les lignes de commandes sont allégées.
Je reste encore étonné de ce que excel peux faire.

Je souhaiterais savoir aussi pourquoi votre votre classeur peux calculer jusqu’à 268 435 455 ? c'est une question de puissance d'ordinateur ou de fichier excel?

J'ai aimé la décomposition; en bref, vous avez réuni ce que l'on peux chercher dans les nombres premiers. en tout cas, qui m'aideront


Avant tout, je souhaiterais garder mon classeur pour plusieurs raisons entr'autre, je l'ai créer et non recopié.
Mais C'est l'érgonomie qui fait tache.
Néanmoins, il me permettra de savoir quel nombre (à 20 chiffres ou plus) est premier
J'aimerais aussi pouvoir avoir les décomposition sur une 3ème colonne

Merci de ce que vous faite
 

Discussions similaires

Réponses
29
Affichages
1 K
Réponses
11
Affichages
364