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.
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.