Trouver les diviseurs communs à un entier

Contenu du snippet

C'est un petit prog pour trouver les diviseurs
communs à un entier.
Placer une zone de texte appelée txtNbrEntré,limitée à 8 caractères
une liste appelée lstDiviseurs et un bouton appelé cmdCalculer
Il est limité à 99999999 pour l'instant.
VOilà
Si il y a quoique ce soit,tranbert@ifrance.com

Source / Exemple :


Option Explicit
Dim vNbrEntré As Long
Dim vNbrDiviseur As Long
Dim vNbrReste As Long
Dim i As Long

Private Sub txtNbrEntré_KeyPress(KeyAscii As Integer)
If KeyAscii > 57 Or KeyAscii < 48 Then
  KeyAscii = 0
  Beep
End If
End Sub

Private Sub cmdCalculer_Click()
vNbrDiviseur = 1                ' Fixe le diviseur de départ
vNbrEntré = txtNbrEntré
i = 1

If vNbrEntré = 0 Then
  MsgBox ("Tapez un entier entre 2 et 99999999")
    Exit Sub
End If

Do Until i = vNbrEntré
vNbrReste = vNbrEntré Mod vNbrDiviseur
If vNbrReste = 0 Then
  lstDiviseurs.AddItem (vNbrDiviseur)
End If
i = i + 1
vNbrDiviseur = vNbrDiviseur + 1
Loop

Conclusion :


La boucle calcule le reste d'une division en partant de 1,si le reste est égal à 0 elle ajoute le diviseur à la liste,à chaque division elle ajoute 1 à un indice,et lorsque l'indice atteint le nombre dont on veut trouver les diviseurs,la boucle s'arrête.

A voir également