Aller au contenu principal
Mis à jour le

C'est quoi une fonction personnalisée Excel ?

Une fonction personnalisée est une fonction qu'on crée soi-même pour un calcul qu'aucune fonction native d'Excel ne couvre, puis qu'on utilise dans ses formules comme SOMME ou RECHERCHEX. On la construit de deux façons : en code VBA, où elle porte le nom d'UDF, ou sans code, avec la fonction LAMBDA.

À quoi sert une fonction personnalisée dans Excel

Une fonction personnalisée te sert à ranger ton propre calcul derrière un nom de formule, le jour où aucune fonction native ne fait exactement ce dont tu as besoin.

Au lieu d'empiler dix formules imbriquées que plus personne ne relit, tu écris ta logique une seule fois, puis tu l'appelles comme SOMME en tapant = suivi de son nom dans une cellule. Elle prend des arguments, renvoie un résultat, et se recalcule à chaque changement comme n'importe quelle formule.

Le vrai gain arrive le jour où la règle évolue. Tu corriges une seule ligne au lieu de rééditer la formule sur chaque ligne du tableau, et tout le monde applique le même calcul sans risquer de recopier une version périmée.

Le piège
Fais entrer les données d'une fonction personnalisée par ses arguments, jamais en lisant des cellules directement dans le code. Sinon Excel ignore de quoi le calcul dépend, ne le relance pas quand elles changent, et te laisse un résultat périmé.

Comment créer une fonction personnalisée dans Excel

Une fonction personnalisée (UDF) s'écrit en VBA, puis s'utilise dans tes formules comme une fonction native. Tu ouvres l'éditeur, tu écris une procédure Function, et tu l'appelles ensuite directement dans une cellule.

  1. 1Ouvre l'éditeur VBA avec le raccourci Alt+F11, puis va dans le menu Insertion puis Module pour créer un module de code vierge.
  2. 2Dans le module, écris une procédure qui commence par Function et se termine par End Function, par exemple Function TVA(montant As Double) As Double, puis à la ligne suivante TVA = montant * 0.2. Utilise bien Function et non Sub.
  3. 3Reviens sur Excel, tape ta fonction dans une cellule comme une formule normale, par exemple =TVA(A1), et valide avec Entrée pour obtenir le résultat.
  4. 4Enregistre le classeur au format qui accepte les macros, sinon Excel efface ton code à la fermeture et ta fonction disparaît.
  5. 5Pour retrouver ta fonction dans tous tes classeurs, range-la dans un classeur de macros personnelles ou dans un complément, elle rejoint alors la liste des fonctions comme une native.
L'astuce en plus
Une fonction personnalisée appelée dans des milliers de cellules se recalcule des milliers de fois. Garde-la simple et rapide, et laisse les traitements lourds à une macro que tu lances à la demande, sinon elle ralentit tout le classeur.

Créer une fonction personnalisée sans VBA avec LAMBDA

Depuis Excel 365, tu peux créer ta propre fonction sans écrire une ligne de VBA, grâce à la fonction LAMBDA. Tu poses ta logique une fois avec LAMBDA, tu lui donnes un nom dans le Gestionnaire de noms, puis tu l'appelles dans tes cellules comme une fonction native.

L'avantage tient en un mot : aucune macro. Une fonction LAMBDA voyage dans un fichier Excel ordinaire, sans alerte de sécurité et sans obliger le destinataire à activer quoi que ce soit. Le VBA, lui, reste incontournable dès qu'un calcul doit lire un fichier, boucler sur des milliers de lignes ou dépasser ce qu'une formule sait exprimer.

La règle est simple. Pour une formule maison que tu réutilises et que tu partages, prends LAMBDA. Pour une logique lourde ou qui déborde du tableur, reste sur VBA.

Quelle différence entre une fonction personnalisée et une macro

Une fonction personnalisée calcule et renvoie une valeur à sa cellule, alors qu'une macro agit sur le classeur sans rien renvoyer. C'est la distinction qui prête le plus à confusion, parce que les deux s'écrivent en VBA, mais pas avec le même mot-clé.

Une fonction commence par Function et se termine par End Function : tu l'appelles depuis une cellule, elle te rend un résultat. Une macro est une procédure Sub que tu déclenches à la demande, pour mettre en forme, copier, créer une feuille ou trier, des actions qu'aucune formule ne sait lancer.

Cette frontière a une conséquence directe. Appelée depuis une formule, une fonction personnalisée ne peut pas modifier une autre cellule, changer une couleur ni insérer une ligne : elle n'a le droit que de calculer et de renvoyer. Dès que tu veux transformer la feuille, c'est une macro qu'il te faut.

Le savais-tu ?
Dès qu'elle existe dans le classeur, Excel propose ta fonction personnalisée dans l'autocomplétion de la barre de formule, à côté des fonctions natives. Tu la retrouves en tapant ses premières lettres, sans rouvrir le code pour vérifier son nom exact.

Pour aller plus loin

Le lexique Excel complet

295 termes Excel décryptés, avec exemples et erreurs fréquentes

FAQ

Questions fréquentes sur la fonction personnalisée

Le plus souvent, Excel ne reconnaît pas le nom de la fonction. Commence par vérifier l'orthographe, car la moindre faute de frappe suffit à déclencher cette erreur. Vérifie ensuite que le classeur contenant le code est bien ouvert et que les macros sont activées, sinon la fonction reste introuvable. Et si elle vit dans un autre classeur, appelle-la en préfixant son nom de celui du fichier qui l'héberge.