Même lorsque Excel contient beaucoup, probablement des centaines de fonctions intégrées telles que SUM, VLOOKUP, LEFT, etc., une fois que vous avez commencé à utiliser Excel pour des tâches plus complexes, vous constaterez souvent que vous avez besoin d'une fonction qui n'existe pas. Ne vous inquiétez pas, vous n'êtes pas du tout perdu, il vous suffit de créer la fonction vous-même.
Pas
-
1 Créez un nouveau classeur ou ouvrez le classeur dans lequel vous souhaitez utiliser votre nouvelle fonction définie par l'utilisateur.
-
2 Ouvrez l'éditeur Visual Basic qui est intégré à Microsoft Excel en allant dans Outils-> Macro-> Visual Basic Editor (ou en appuyant sur Alt + F11).
-
3 Ajouter un nouveau module dans votre classeur en cliquant sur le bouton indiqué. Vous pouvez créer la fonction définie par l'utilisateur dans la feuille de calcul elle-même sans ajouter de nouveau module, mais cela vous empêchera d'utiliser la fonction dans d'autres feuilles de calcul du même classeur.
-
4 Créez le "header" ou "prototype" de votre fonction. Il doit avoir la structure suivante:
fonction publique "Le nom de votre fonction" (param1 As type1, param2 As type2) Comme type de retour Il peut contenir autant de paramètres que vous le souhaitez et leur type peut être l'un des types de données de base ou des types d'objet d'Excel tels que Range. Vous pouvez penser aux paramètres comme des "opérandes" sur lesquels votre fonction va agir. Par exemple, lorsque vous dites SIN (45) pour calculer le sinus de 45 degrés, 45 sera pris comme paramètre. Ensuite, le code de votre fonction utilisera cette valeur pour calculer autre chose et présenter le résultat. -
5 Ajoutez le code de la fonction en vous assurant que 1) utilisez les valeurs fournies par les paramètres; 2) attribuer le résultat au nom de la fonction; et 3) fermer la fonction avec "end function". Apprendre à programmer en VBA ou dans toute autre langue peut prendre du temps et un tutoriel détaillé. Cependant, les fonctions ont généralement de petits blocs de code et utilisent très peu de fonctionnalités d'une langue. Les éléments les plus utiles du langage VBA sont:
- le Si block, qui vous permet d’exécuter une partie du code uniquement si une condition est remplie. Par exemple:
Résultat du cours de la fonction publique (note en tant qu'entier) en tant que chaîne
Si note> = 5 Alors
CourseResult = "Approved"
Autre
CourseResult = "Rejeté"
Fin si
Fonction de fin
Notez les éléments dans un Si bloc de code:SI condition ALORS code ELSE code END IF
. le Autre mot-clé avec la deuxième partie du code sont facultatifs. - le Faire bloc, qui exécute une partie du code Tandis que ou Jusqu'à une condition est remplie. Par exemple:
Fonction publique IsPrime (valeur As Integer) As Boolean
Dim i comme Integer
i = 2
IsPrime = True
Faire
Si valeur / i = Int (valeur / i) Alors
IsPrime = Faux
Fin si
i = i + 1
Loop While i <valeur Et IsPrime = True
Fonction de fin
Notez les éléments à nouveau:DO code LOOP WHILE / UNTIL condition
. Notez également la deuxième ligne dans laquelle une variable est "déclarée". Vous pouvez ajouter des variables à votre code pour pouvoir les utiliser ultérieurement. Les variables agissent comme des valeurs temporaires dans le code. Enfin, notez la déclaration de la fonction en tant que BOOLEAN, qui est un type de données qui autorise uniquement les valeurs TRUE et FALSE. Cette méthode pour déterminer si un nombre est premier n'est de loin pas optimale, mais je l'ai laissé de cette manière pour rendre le code plus facile à lire. - le Pour bloc, qui exécute une partie du code un nombre de fois spécifié. Par exemple:
Facteur de fonction publique (valeur As Integer) As Long
Résultat sombre As Long
Dim i comme Integer
Si valeur = 0 Alors
résultat = 1
ElseIf value = 1 Alors
résultat = 1
Autre
résultat = 1
Pour i = 1 Pour valoriser
resultat = resultat * i
Prochain
Fin si
Factorial = résultat
Fonction de fin
Notez les éléments à nouveau:FOR variable = limite inférieure au code limite supérieur NEXT
. Notez également le ajouté ElseIf élément dans le Si déclaration, qui vous permet d'ajouter plus d'options au code à exécuter. Enfin, notez la déclaration de la fonction et la variable "result" comme Longue. le Longue type de données permet des valeurs beaucoup plus grandes que Entier.
Le code d'une fonction qui convertit les petits nombres en mots apparaît ci-dessous.
- le Si block, qui vous permet d’exécuter une partie du code uniquement si une condition est remplie. Par exemple:
-
6 Retourner à votre classeur et utiliser la fonction en démarrant le contenu d'une cellule avec un égal signe suivi du nom de votre fonction. Ajouter au nom de la fonction une parenthèse d’ouverture, les paramètres séparés par des virgules et une parenthèse finale de fermeture. Par exemple:
= NumberToLetters (A4)
Vous pouvez également utiliser votre formule définie par l'utilisateur en la recherchant dans le Défini par l'utilisateur catégorie dans l'assistant Insérer une formule. Il suffit de cliquer dans le Fx bouton situé à gauche de la barre de formule. Les paramètres peuvent être de trois types:- Valeurs constantes saisies directement dans la formule de cellule. Les chaînes doivent être citées dans ce cas.
- Références de cellules comme B6 ou références de gamme comme A1: C3 (le paramètre doit être du Gamme Type de données)
- Autres fonctions imbriquées dans votre fonction (votre fonction peut également être imbriquée dans d'autres fonctions). I.e .: = Factorial (MAX (D6: D8))
-
7 Vérifiez que le résultat est correct après avoir utilisé la fonction plusieurs fois pour vous assurer qu'il gère correctement différentes valeurs de paramètres:
Facebook
Twitter
Google+