Ci-dessous, nous examinerons un programme dans Excel VBA qui .
Avant de commencer: en mathématiques, un nombre premier est un nombre qui a exactement deux diviseurs de nombre distincts: 1 et lui-même. Les vingt-cinq plus petits nombres premiers sont: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29,31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89 et 97. Par exemple, 8 a 1, 2, 4 et 8 comme diviseurs et n’est pas un nombre premier .
1. Premièrement, nous déclarons trois variables. Une variable Integer que nous appelons diviseur, une variable Long que nous appelons nombre et une variable Long que nous appelons i. Nous utilisons ici des variables Long car les variables Long ont une capacité plus grande que les variables entières.
Dim diviseur As Integer, nombre As Long, i As Long
2. Nous initialisons deux variables. Nous initialisons la variable diviseur avec la valeur 0. Nous utilisons la fonction InputBox pour obtenir un nombre de l’utilisateur.
diviseur= 0
nombre = InputBox ("Entrez un nombre")
Une fois que l’utilisateur a entré un nombre, nous voulons vérifier si ce nombre est un nombre premier ou non. N’oubliez pas qu’un nombre premier a exactement deux diviseurs de nombre distincts: 1 et lui-même.
3. Nous commençons une boucle For Next.
For i = 1 To nombre
4. Vient maintenant la partie la plus importante du programme. Pour calculer le nombre de diviseurs d’un nombre, nous utilisons l’opérateur Mod. L’opérateur Mod donne le reste d’une division. Donc 7 mod 2 donnerait 1. 7 est divisé par 2 (3 fois) pour donner un reste de 1. Seulement si “nombre mod i ‘est égal à 0, i est un diviseur de nombre. Dans ce cas, nous voulons incrémenter la variable diviseurs par 1. La macro ci-dessous fait l’affaire.
If nombre Mod i = 0 Then
diviseur = diviseur + 1
End If
Excel VBA vérifie ceci For i = 1, i = 2, i = 3, i = 4 jusqu’à ce que i = nombre. Notez que i = 1 et i = nombre sont toujours des diviseurs de nombre. Ce n’est que si ces nombres sont les seuls diviseurs de nombre, le nombre est un nombre premier.
5. N’oubliez pas de fermer la boucle.
Next i
6. Si le nombre de diviseur est égal à 2, nous affichons une boîte de message indiquant que le nombre entré est un nombre premier. Si le nombre de diviseurs est supérieur à 2, nous affichons une msgbox indiquant que le nombre entré n’est pas un nombre premier.
If diviseur = 2 Then
MsgBox nombre & " il est un nombre premier"
Else
MsgBox nombre & " il n’est pas un nombre premier "
End If
- 7. Testez le programme.
Résultat pour 4400:
Comment vérifie si un nombre est un nombre premier dans Excel VBA
Ci-dessous, nous examinerons un programme dans Excel VBA qui .
Avant de commencer: en mathématiques, un nombre premier est un nombre qui a exactement deux diviseurs de nombre distincts: 1 et lui-même. Les vingt-cinq plus petits nombres premiers sont: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29,31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89 et 97. Par exemple, 8 a 1, 2, 4 et 8 comme diviseurs et n’est pas un nombre premier .
1. Premièrement, nous déclarons trois variables. Une variable Integer que nous appelons diviseur, une variable Long que nous appelons nombre et une variable Long que nous appelons i. Nous utilisons ici des variables Long car les variables Long ont une capacité plus grande que les variables entières.
Dim diviseur As Integer, nombre As Long, i As Long
2. Nous initialisons deux variables. Nous initialisons la variable diviseur avec la valeur 0. Nous utilisons la fonction InputBox pour obtenir un nombre de l’utilisateur.
Une fois que l’utilisateur a entré un nombre, nous voulons vérifier si ce nombre est un nombre premier ou non. N’oubliez pas qu’un nombre premier a exactement deux diviseurs de nombre distincts: 1 et lui-même.
3. Nous commençons une boucle For Next.
4. Vient maintenant la partie la plus importante du programme. Pour calculer le nombre de diviseurs d’un nombre, nous utilisons l’opérateur Mod. L’opérateur Mod donne le reste d’une division. Donc 7 mod 2 donnerait 1. 7 est divisé par 2 (3 fois) pour donner un reste de 1. Seulement si “nombre mod i ‘est égal à 0, i est un diviseur de nombre. Dans ce cas, nous voulons incrémenter la variable diviseurs par 1. La macro ci-dessous fait l’affaire.
Excel VBA vérifie ceci For i = 1, i = 2, i = 3, i = 4 jusqu’à ce que i = nombre. Notez que i = 1 et i = nombre sont toujours des diviseurs de nombre. Ce n’est que si ces nombres sont les seuls diviseurs de nombre, le nombre est un nombre premier.
5. N’oubliez pas de fermer la boucle.
6. Si le nombre de diviseur est égal à 2, nous affichons une boîte de message indiquant que le nombre entré est un nombre premier. Si le nombre de diviseurs est supérieur à 2, nous affichons une msgbox indiquant que le nombre entré n’est pas un nombre premier.
Résultat pour 4400:
Initiation à Excel
Fonctions Excel
Excel VBA
Macros VBA Utiles
Plus d'outils
Sur Facebook
Sur YouTube