Nous voulons créer une fonction appelée SOMNOMBREPAIR qui trouve la somme des nombres pairs d’une plage sélectionnée au hasard.
Les fonctions définies par l’utilisateur doivent être placées dans un module.
1. Ouvrez l’éditeur Visual Basic et cliquez sur Insérer, module.
2. Ajoutez la ligne de code suivante:
Function SOMNOMBREPAIR(rng As Range)
Le nom de notre fonction est SOMNOMBREPAIR. La partie entre les crochets signifie que nous donnons
Excel VBA une plage en entrée. Nous nommons notre gamme rng, mais vous pouvez utiliser n’importe quel nom.
3. Ensuite, nous déclarons un objet Range et l’appelons cellule.
Dim Cell As Range
4. Nous voulons vérifier chaque cellule dans une plage sélectionnée au hasard (cette plage peut être de n’importe quelle taille). Dans Excel
VBA, vous pouvez utiliser la boucle For Each Next pour cela. Ajoutez les lignes de code suivantes:
For Each cell In rngFor Each cell In rng Next cell
Remarque: la cellule est choisie au hasard ici, vous pouvez utiliser n’importe quel nom.
5. Ensuite, nous vérifions pour chaque valeur de cette plage si elle est paire ou non. Nous utilisons pour cela 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. Cela dit, il est facile de vérifier si un nombre est pair ou non. Ce n’est que si le reste d’un nombre divisé par 2 est 0 que le nombre est pair. 8 mod 2 donne 0, 8 est divisé par 2 exactement 4 fois, et donc 8 est pair. Ajoutez l’instruction If suivante à la boucle For Each Next.
If cell.Value Mod 2 = 0 Then End If
6. Seulement si cette affirmation est vraie, nous ajoutons la valeur à SOMNOMBREPAIR. Ajoutez la ligne de code suivante dans l’instruction If.
SOMNOMBREPAIR = SOMNOMBREPAIR + cell.Value
7. N’oubliez pas de terminer la fonction (en dehors de la boucle).
End Function
8. Vous pouvez maintenant utiliser cette fonction, comme toute autre fonction Excel, pour trouver la somme des nombres pairs d’une plage sélectionnée au hasard.
Résultat:
C’est aussi simple que les fonctions définies par l’utilisateur dans Excel VBA.
Remarque: cette fonction est uniquement disponible dans ce classeur.