Créez votre propre fonction dans excel

Même si Excel possède de nombreuses, voire des centaines de fonctions intégrées, telles que SUM, VERT.RECHERCHE, LIENS, etc. pourtant, vous constaterez qu`une fois que vous commencez à utiliser Excel pour des tâches plus compliquées, vous aurez souvent besoin d`une fonction qui n`existe pas. Ne vous inquiétez pas, le sauvetage est proche. Tout ce que vous avez à faire est de créer vous-même une fonction.

Pas

Image intitulée Créer une fonction définie par l`utilisateur dans Microsoft Excel Étape 1
1. Créez un nouveau classeur ou ouvrez le classeur dans lequel vous souhaitez utiliser la nouvelle fonction définie par l`utilisateur (UDF).
Image intitulée Créer une fonction définie par l`utilisateur dans Microsoft Excel Étape 2
2. Ouvrez l`éditeur Visual Basic qui est intégré à Microsoft Excel, en allant dans Outils->macro->Accédez à Visual Basic Editor (ou en appuyant sur Alt+F11).
Image intitulée Créer une fonction définie par l`utilisateur dans Microsoft Excel Étape 3
3. Ajouter un nouveau module à votre classeur, en appuyant sur le bouton ci-dessous. Vous pouvez créer l`UDF dans le classeur lui-même sans ajouter de nouveau module, mais de cette façon, il n`est pas possible d`utiliser la fonction dans une autre feuille de calcul du même classeur.
Image intitulée Créer une fonction définie par l`utilisateur dans Microsoft Excel Étape 4
4. Créez l`en-tête ou le prototype de votre fonction. Il doit avoir la structure suivante :

fonction publique "Le nom de la fonction" (param1 Type d`axe1, param2 Type d`axe2 ) Type de retour d`axe Cela peut avoir autant de paramètres que vous pensez avoir besoin, et vous pouvez utiliser n`importe quel type de données Excel standard ou types d`objet pour cela, comme Range. Vous pouvez considérer les paramètres comme les opérateurs auxquels votre fonction répondra. Par exemple, si vous remplissez SIN(45) pour calculer le sinus de 45 degrés, 45 est le paramètre. Le code de votre fonction utilisera ensuite cette valeur pour calculer la fonction et présenter son résultat.
Image intitulée Créer une fonction définie par l`utilisateur dans Microsoft Excel Étape 5
5. Ajoutez le code de la fonction en veillant à 1) utiliser les valeurs des paramètres ; 2) affecter le résultat au nom de la fonction ; et 3) quitter la fonction avec `end function`.Apprendre à programmer, que ce soit en VBA ou tout autre langage de programmation prend du temps et des informations plus détaillées et complètes. Mais certaines fonctions consistent en de petits blocs de code et n`utilisent qu`une petite partie d`un langage de programmation. Les éléments les plus utiles de VBA sont :
  • Ce si-bloc, qui exécute une partie du code lorsqu`une condition est remplie. Par exemple:


    Résultat du cours de fonction publique (note en tant qu`entier) en tant que chaîne
    si grade >= 5 Alors
    Résultat du cours = "Approuvé"
    Autre
    Résultat du cours = "rejeté"
    Fin si
    Fonction de fin


    Faites attention aux parties d`un si-bloc de code : SI condition ALORS code ELSE code FIN SI. La condition Autre et la deuxième partie du code sont facultatives.
  • Ce Faire-bloc, qui exécute une partie du code tant que (tandis que) ou jusqu`à (jusqu`à) une certaine condition est remplie. Par exemple:

    Fonction publique IsPrime (valeur en nombre entier) en tant que booléen
    Diminuer en tant qu`entier
    je = 2
    EstPrime = Vrai
    Faire
    Si valeur / i = Int(valeur / i) Alors
    IsPrime = Faux
    Fin si
    je = je + 1
    Marcher pendant que je < valeur Et IsPrime = True
    Fonction de fin


    Notez à nouveau les pièces : DO code LOOP WHILE/UNTIL condition. Notez également la deuxième ligne où la variable est déclarée. Vous pouvez affecter des variables à votre code pour une utilisation ultérieure. Les variables se comportent comme des valeurs temporaires dans le code. Et enfin, notez la déclaration de la fonction en tant que BOOLEAN, un type de données qui ne peut être que TRUE ou FALSE (true ou false). Cette méthode pour déterminer si un nombre est premier est loin d`être optimale, mais elle est écrite pour rendre le code plus facile à lire.
  • Ce pour-bloquer, avec lequel vous exécutez une partie du code un certain nombre de fois. Par exemple:

    Facteur de fonction publique (valeur en nombre entier) aussi long
    Résultat faible aussi longtemps
    Diminuer en tant qu`entier
    Si valeur = 0 Alors
    résultat = 1
    Sinon si valeur = 1 Alors
    résultat = 1
    Autre
    résultat = 1
    Pour i = 1 À la valeur
    résultat = résultat * je
    Suivant
    Fin si
    Factorielle = résultat
    Fonction de fin


    Encore une fois, faites attention aux différentes parties :FOR variable = limite inférieure TO code limite supérieure SUIVANT. Notez également le nouveau sinon si partie dans le si-instruction, qui vous permet d`ajouter plus d`options au code à exécuter. Enfin, faites attention à la déclaration de la fonction et de la variable "résultat" si poumon. Ce poumon-type de données permet des valeurs beaucoup plus grandes qu`un Entier.

    Ci-dessous se trouve le code d`une fonction qui convertit de petits nombres en mots.
    Image intitulée Créer une fonction définie par l`utilisateur dans Microsoft Excel Étape 6
  • 6. Retournez à votre classeur et utilisez cette fonction en commençant le contenu d`une cellule par un est égal-signe, suivi du nom de votre poste. Placez une parenthèse ouvrante après le nom de la fonction, séparez les paramètres les uns des autres virgules puis une parenthèse fermante. Par exemple:

    =NombreVersLettres(A4)

    Vous pouvez également choisir la formule maison en la recherchant dans la catégorie Défini par l`utilisateur dans l`assistant d`insertion de fonction. Cliquez simplement sur le bouton fx sur le côté gauche de la barre de formule.Les paramètres peuvent être de trois types :
  • Les valeurs constantes sont saisies directement dans la formule de cellule. Les chaînes doivent être mises entre guillemets dans ce cas.
  • Les références de cellules telles que B6 ou atteindre, comme A1:C3 (le paramètre doit être du type de données intervalle sont)
  • Autres fonctions appelées dans votre fonction (votre fonction elle-même peut également être appelée dans d`autres fonctions). Par exemple : =Facteur(MAX(D6:D8))
    Image intitulée Créer une fonction définie par l`utilisateur dans Microsoft Excel Étape 7
    sept. Vérifiez le résultat en appliquant plusieurs fois la fonction pour vous assurer que les valeurs des paramètres sont correctement appliquées :

    Des astuces

  • Lors de l`utilisation d`un bloc de code dans un arbre de contrôle, tel que If, ​​For, Do, etc., assurez-vous de mettre le bloc en retrait en utilisant quelques espaces ou le bouton Tab (le style de retrait dépend de vous). Cela rend le code plus facile à comprendre, et beaucoup plus facile à déboguer et à apporter des améliorations.
  • Si vous ne savez pas comment écrire le code d`une fonction, lisez l`article Écrire une macro simple dans Excel.
  • Parfois, tous les paramètres ne sont pas nécessaires pour calculer le résultat d`une fonction. Dans ce cas, vous pouvez utiliser le mot-clé Optionnel placer avant le nom du paramètre dans l`entête de la fonction. Vous pouvez utiliser la fonction IsMissing(nom_paramètre) dans le code pour déterminer si un paramètre est affecté ou non à une valeur.
  • Utilisez un nom qui n`a pas été utilisé auparavant dans Excel pour définir un nom de fonction, sinon vous finirez par n`utiliser qu`une seule des fonctions.
  • Excel a de nombreuses fonctions intégrées et la plupart des calculs peuvent être effectués en les utilisant séparément ou en combinaison. Avant de commencer à coder vos propres fonctions, parcourez la liste des fonctions disponibles. Les fonctions intégrées peuvent être plus rapides.
  • Mises en garde

    • Pour des raisons de sécurité, les utilisateurs désactivaient parfois les macros. Assurez-vous d`informer vos collègues que le classeur que vous envoyez contient des macros et qu`ils peuvent être sûrs qu`il n`endommagera pas leurs ordinateurs.
    • Les fonctionnalités de cet article ne sont en aucun cas le meilleur moyen de résoudre les problèmes connexes. Ils sont uniquement destinés à démontrer l`utilisation des commandes de la langue.
    • Comme tout autre langage de programmation, VBA a des tonnes de contrôles autres que Do, If et For. Les mentions ne sont expliquées ici que pour expliquer les possibilités qu`il y a dans le code source de la fonction. Il existe de nombreux tutoriels en ligne pour apprendre VBA.

    Оцените, пожалуйста статью