/ / Fonction définie par l'utilisateur dans Excel VBA

Fonction définie par l'utilisateur dans Excel VBA

Ci-dessous, nous examinerons un programme en Excel VBA qui crée un Fonction définie par l'utilisateur. Excel a une grande collection de fonctions. Dans la plupart des situations, ces fonctions sont suffisantes pour faire le travail. Sinon, vous pouvez créer votre propre fonction appelée Fonction définie par l'utilisateur ou fonction Excel personnalisée. Vous pouvez accéder à une fonction définie par l'utilisateur comme n'importe quelle autre fonction Excel.

Nous voulons créer une fonction appelée SUMEVENNUMBERS qui recherche la somme des nombres pairs d’une plage sélectionnée aléatoirement.

Situation:

Fonction définie par l'utilisateur dans Excel VBA

Les fonctions définies par l'utilisateur doivent être placées dans un module.

1. Ouvrez Visual Basic Editor et cliquez sur Insérer, Module.

2. Ajoutez la ligne de code suivante:

Function SUMEVENNUMBERS(rng As Range)

Le nom de notre fonction est SUMEVENNUMBERS. La partie entre crochets signifie que nous donnons une plage Excel à VBA Excel en entrée. Nous appelons 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 toute taille). Dans Excel VBA, vous pouvez utiliser la boucle For Each Next pour cela. Ajoutez les lignes de code suivantes:

For 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 si chaque valeur de cette plage est paire ou non. Nous utilisons l'opérateur Mod pour cela. 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. Seulement si le reste d'un nombre divisé par 2 est 0, 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. Nous ajoutons la valeur à SUMEVENNUMBERS uniquement si cette affirmation est vraie. Ajoutez la ligne de code suivante dans l'instruction If.

SUMEVENNUMBERS = SUMEVENNUMBERS + cell.Value

7. N’oubliez pas de mettre fin à 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:

Résultat de la fonction définie par l'utilisateur

Bien joué! C’est la facilité avec laquelle les fonctions définies par l’utilisateur dans Excel VBA sont. Remarque: cette fonction n’est disponible que dans ce classeur.

Lisez aussi: