Nombres premiers

Description

L'utilisateur entre un nombre entier positif au clavier et appuie sur Entrée ou clique sur OK pour savoir si ce nombre est premier ou non.

Source / Exemple :


Public Sub funcPremier()
    On Error GoTo errEntier   'Si autre chose qu'un nombre entier est tapé au clavier
        Dim N As Long
        Dim i As Long
        i = 2
        N = CInt(Form1.txtPremier.Text)
            Select Case N   ' Traitement des cas possibles
            Case Is < 0
            Form1.lblPremier.Caption = "Il faut entrer un nombre positif ou nul..."
                Form1.lblPremier.FontSize = 20
                Form1.lblPremier.AutoSize = True
            Case Is = 2
                Form1.lblPremier.Caption = "2 est un nombre premier, c'est le seul" _
                & " nombre pair premier !"
                Form1.lblPremier.FontSize = 20
                Form1.lblPremier.AutoSize = True
            Case Is <= 1
                Form1.lblPremier.Caption = "Ce nombre n'est pas premier"
                Form1.lblPremier.FontSize = 20
            Case Else
                While (i < Sqr(N)) And ((N Mod i) <> 0)  'Algorithme pour déterminer si le nombre
                i = i + 1                               ' est premier ou non
                Wend
                If (N Mod i) <> 0 Then
                    Form1.lblPremier.Caption = "Ce nombre est premier"
                    Form1.lblPremier.FontSize = 20
                Else
                    Form1.lblPremier.Caption = "Ce nombre n'est pas premier"
                    Form1.lblPremier.FontSize = 20
                End If
            End Select
    Exit Sub
errEntier:
        If Err.Number = 13 Then   'Traitement de l'erreur si l'utilisateur entre un nombre non entier
        intReponse = MsgBox("Veuillez taper un nombre entier svp !", vbOKOnly, "Attention!")
        End If
End Sub

Conclusion :


Suite à vos remarques, voici les rectifications sur le code du module.
Ca devrait être mieux comme ça.

Codes Sources

A voir également

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.