Comment créer une fonction définie par l'utilisateur dans Microsoft Excel

Table des matières:

Comment créer une fonction définie par l'utilisateur dans Microsoft Excel
Comment créer une fonction définie par l'utilisateur dans Microsoft Excel

Vidéo: Comment créer une fonction définie par l'utilisateur dans Microsoft Excel

Vidéo: Comment créer une fonction définie par l'utilisateur dans Microsoft Excel
Vidéo: Impossible d'ouvrir les fichiers .exe dans Windows (3 solutions) 2024, Peut
Anonim

Microsoft Excel possède de nombreuses fonctions intégrées, telles que SUM, VLOOKUP et LEFT. Lorsque vous commencez à utiliser Excel pour des tâches plus complexes, vous pouvez constater que vous avez besoin d'une fonction qui n'existe pas. C'est là qu'interviennent les fonctions personnalisées ! Ce wikiHow vous apprend à créer vos propres fonctions dans Microsoft Excel.

Pas

259250 1
259250 1

Étape 1. Ouvrez un classeur Excel

Double-cliquez sur le classeur dans lequel vous souhaitez utiliser la fonction personnalisée pour l'ouvrir dans Excel.

259250 2
259250 2

Étape 2. Appuyez sur Alt+F11 (Windows) ou Fn+⌥ Opt+F11 (Mac).

Cela ouvre l'éditeur Visual Basic.

259250 3
259250 3

Étape 3. Cliquez sur le menu Insertion et sélectionnez Nouveau module

Cela ouvre une fenêtre de module dans le panneau de droite de l'éditeur.

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

259250 4
259250 4

Étape 4. Créez l'en-tête de votre fonction

La première ligne est l'endroit où vous nommerez la fonction et définirez notre gamme. Remplacez "FunctionName" par le nom que vous souhaitez attribuer à votre fonction personnalisée. La fonction peut avoir autant de paramètres que vous le souhaitez, et leurs types peuvent être n'importe quel type de données de base ou d'objet d'Excel comme Plage:

Fonction FunctionName (param1 Comme type1, param2 Comme type2) Comme type de retour

Vous pouvez considérer les paramètres comme les "opérandes" sur lesquels votre fonction agira. Par exemple, lorsque vous utilisez 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

259250 5
259250 5

Étape 5. Ajoutez le code de la fonction

Assurez-vous d'utiliser les valeurs fournies par les paramètres, attribuez le résultat au nom de la fonction et fermez la fonction avec « End Function ». Apprendre à programmer en VBA ou dans tout autre langage peut prendre un certain 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 du langage. Certains éléments utiles sont:

  • Le bloc If, qui permet d'exécuter une partie du code uniquement si une condition est remplie. Notez les éléments d'un bloc de code If: condition IF code THEN code ELSE END IF. Le mot-clé Else ainsi que la deuxième partie du code sont facultatifs:

    Fonction Course Result(note As Integer) As String If note >= 5 Then CourseResult = "Approved" Else CourseResult = "Rejected" End If End Function

  • Le bloc Do, qui exécute une partie du code Tant que ou Jusqu'à ce qu'une condition soit remplie. Dans l'exemple de code ci-dessous, notez les éléments 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 afin de pouvoir les utiliser plus tard. Les variables agissent comme des valeurs temporaires à l'intérieur du code. Enfin, notez la déclaration de la fonction en tant que BOOLEAN, qui est un type de données qui n'autorise que 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ée ainsi pour rendre le code plus facile à lire.

    Fonction IsPrime(valeur comme entier) As Boolean Dim i As Integer i = 2 IsPrime = True Do If value / i = Int(value / i) Then IsPrime = False End If i = i + 1 Loop While i < value And IsPrime = Fonction de fin réelle

  • Le bloc For exécute une partie du code un nombre de fois spécifié. Dans cet exemple suivant, vous verrez les éléments FOR variable = limite inférieure TO limite supérieure code NEXT. Vous verrez également l'élément ElseIf ajouté dans l'instruction If, qui vous permet d'ajouter plus d'options au code à exécuter. De plus, la déclaration de la fonction et de la variable est Long. Le type de données Long autorise des valeurs bien supérieures à Integer:

    Fonction publique Factorielle (valeur comme entier) As Long Dim result As Long Dim i As Integer If value = 0 Then result = 1 ElseIf value = 1 Then result = 1 Else result = 1 For i = 1 To value result = result * i Next Fin Si Factoriel = résultat Fin Fonction

259250 6
259250 6

Étape 6. Fermez l'éditeur Visual Basic

Une fois que vous avez créé votre fonction, fermez la fenêtre pour revenir à votre classeur. Vous pouvez maintenant commencer à utiliser votre fonction définie par l'utilisateur.

259250 7
259250 7

Étape 7. Entrez votre fonction

Tout d'abord, cliquez sur la cellule dans laquelle vous souhaitez saisir la fonction. Ensuite, cliquez sur la barre de fonctions en haut d'Excel (celle avec le fx à sa gauche) et tapez =FUNCTIONNAME(), en remplaçant FUNCTIONNAME par le nom que vous avez attribué à votre fonction personnalisée.

Vous pouvez également trouver votre formule définie par l'utilisateur dans la catégorie « Défini par l'utilisateur » dans le Insérer une formule assistant-cliquez simplement sur le fx pour faire apparaître l'assistant.

259250 8
259250 8

Étape 8. Écrivez les paramètres dans les parenthèses

Par exemple, =NombreVersLettres(A4). Les paramètres peuvent être de trois types:

  • Valeurs constantes saisies directement dans la formule de la cellule. Les chaînes doivent être entre guillemets dans ce cas.
  • Des références de cellule comme B6 ou des références de plage comme A1:C3. Le paramètre doit être du type de données Range.
  • D'autres fonctions imbriquées dans votre fonction. Votre fonction peut également être imbriquée dans d'autres fonctions. Exemple: =Factorial(MAX(D6:D8)).
259250 9
259250 9

Étape 9. Appuyez sur ↵ Entrée ou Retournez pour exécuter la fonction.

Les résultats s'afficheront dans la cellule sélectionnée.

Vidéo - En utilisant ce service, certaines informations peuvent être partagées avec YouTube

Des astuces

  • Utilisez un nom qui n'est pas déjà défini comme nom de fonction dans Excel ou vous finirez par ne pouvoir utiliser qu'une seule des fonctions.
  • Chaque fois que vous écrivez un bloc de code à l'intérieur d'une structure de contrôle comme If, For, Do, etc. assurez-vous de mettre en retrait le bloc de code en utilisant quelques espaces vides ou la touche Tab. Cela rendra votre code plus facile à comprendre et vous trouverez beaucoup plus facile de repérer les erreurs et d'apporter des améliorations.
  • Si vous ne savez pas comment écrire le code d'une fonction, consultez Comment écrire une macro simple dans Microsoft Excel.
  • Une fonction peut ne pas nécessiter tous les paramètres pour calculer un résultat. Dans ce cas, vous pouvez utiliser le mot-clé Facultatif avant le nom du paramètre dans l'en-tête de la fonction. Vous pouvez utiliser IsMissing(parameter_name) dans le code pour déterminer si le paramètre a reçu une valeur ou non.
  • Excel possède de nombreuses fonctions intégrées et la plupart des calculs peuvent être effectués en les utilisant indépendamment ou en combinaison. Assurez-vous de parcourir la liste des fonctions disponibles avant de commencer à coder la vôtre. L'exécution peut être plus rapide si vous utilisez les fonctions intégrées.

Mises en garde

  • Les fonctions utilisées dans cet article ne sont en aucun cas le meilleur moyen de résoudre les problèmes associés. Ils n'ont été utilisés ici que pour expliquer l'utilisation des structures de contrôle du langage.
  • VBA, comme tout autre langage, a plusieurs autres structures de contrôle en plus de Do, If et For. Ceux-ci ont été expliqués ici uniquement pour clarifier le type de choses qui peuvent être faites dans le code source de la fonction. Il existe de nombreux tutoriels en ligne pour apprendre VBA.
  • En raison de mesures de sécurité, certaines personnes peuvent désactiver les macros. Assurez-vous d'informer vos collègues que le livre que vous leur envoyez contient des macros et qu'ils peuvent être sûrs qu'ils n'endommageront pas leurs ordinateurs.

Conseillé: