bonjour
je debute en programation et voici mon premier code
il cherche tout les nombre premier dans un intervale de minimum 2 a max 2147483647 et dit si un nombre particulier et premier ou pas(je ferrai une modif pour qu'il accept plus mais j'ai pas encore le temp)
je le donne sous exel pour que vous ayer aussi ma presentation(je ne fais pas encore d'userform)
donc voila
il y a diverse option qui peuvent jouer sur le temp ou le fun
par exemple l'affichage de la liste de tout les nombre premier ou non, la limite de ligne remplie pour la liste(sinon sa devient inlisible), le taux de rafrechissement car il peut indiquer le temps passer et le nombre en cours(dans la barre de tache)(si taux de rafrechissement =0 pas de rafrechissement)et le dernier qui est juste pour le fun, il suit la case en cour
mais vous verrez sa par vous meme
a+
P.S: tout commentere est bien venu(sauf pour les fautes de grammaire ;-)
Source / Exemple :
Sub nbrpremier()
Dim debut As Date
Dim fin As Date
Dim Duree As Date
Dim n As Variant
Dim d As Variant
Dim premier As Integer
Dim p As Variant
Dim c As Variant
Dim Max As Variant
Dim Min As Variant
Dim Limp As Variant
Dim compteur As Variant
Dim tauxrafrech As Variant
Min = Cells(1, 2)
Max = Cells(1, 3)
Limp = (Cells(3, 2) + 6) 'nombre de cellules remplie avant retour a la colonne suivante
debut = Time
p = 7
c = 1
compteur = 0
tauxrafrech = 0
Rows("7:9999").Clear
Columns(4).Clear
For n = Min To Max
tauxrafrech = tauxrafrech + 1
premier = 1
For d = 2 To (n ^ 0.5)
If (n Mod d) = 0 Then
premier = 0
Exit For
End If
Next d
If premier = 1 Then
compteur = compteur + 1
End If
If Cells(2, 2) = 1 Then
If premier = 1 Then
If p <= Limp Then
Cells(p, c) = n
p = p + 1
Else
p = 7
c = c + 1
Cells(p, c) = n
End If
End If
If Cells(5, 2) = 1 Then
Cells(p, c).Select
End If
If tauxrafrech = Cells(4, 2) Then
tauxrafrech = 0
fin = Time
Duree = fin - debut
Application.StatusBar = "Durée " & Duree & " total nbr premier " & compteur & " Nbr en cours " & n
End If
Else
If tauxrafrech = Cells(4, 2) Then
tauxrafrech = 0
fin = Time
Duree = fin - debut
Cells(1, 4) = "Durée " & Duree
Cells(2, 4) = "total nbr premier " & compteur
Cells(3, 4) = "Nbr en cours " & n
End If
End If
Next n
Cells(3, 4).Clear
Application.StatusBar = Clear
Cells(1, 1).Select
fin = Time
Duree = fin - debut
Cells(1, 4) = "Durée totale " & Duree
Cells(2, 4) = "total nbr premier " & compteur
End Sub
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.