FONCTION.APPELANTE (CALLER en anglais) retourne une référence à la cellule qui a appelé la formule. Elle est principalement utilisée dans les fonctions LAMBDA pour créer des formules personnalisées qui connaissent leur position et adaptent leur comportement en conséquence.
C'est une fonction très spécialisée, utile pour les développeurs Excel avancés qui créent des fonctions réutilisables complexes. Elle ouvre des possibilités de formules "intelligentes" qui s'adaptent automatiquement à leur emplacement : doubler la valeur après la ligne 10, appliquer un taux différent selon la colonne, ou retourner sa propre adresse pour le débogage.
Syntaxe de la fonction FONCTION.APPELANTE
=FONCTION.APPELANTE()FONCTION.APPELANTE est conçue pour être utilisée à l'intérieur de fonctions LAMBDA ou de noms définis dans le Gestionnaire de noms. En dehors de ces contextes, son comportement n'est pas garanti. Si tu déplaces une cellule contenant une formule l'utilisant, le résultat change car la position a changé : assure-toi que le recalcul automatique est activé.
Comprendre chaque paramètre de la fonction FONCTION.APPELANTE
aucun paramètre
: fONCTION.APPELANTE ne prend aucun paramètre(facultatif)Elle retourne automatiquement une référence à la cellule contenant la formule qui l'appelle. Cette référence peut ensuite être utilisée avec d'autres fonctions comme LIGNE(), COLONNE(), ADRESSE() ou INDIRECT() pour extraire des informations contextuelles sur la position.
Astuce : Combine FONCTION.APPELANTE avec LIGNE() pour connaître le numéro de ligne, avec COLONNE() pour le numéro de colonne, ou avec ADRESSE(LIGNE(FONCTION.APPELANTE()); COLONNE(FONCTION.APPELANTE())) pour obtenir la référence sous forme de texte comme "$B$5".
Exemples pratiques pas à pas
Développeur Excel : fonction qui change selon le numéro de ligne
Tu veux créer une fonction LAMBDA qui retourne des valeurs différentes selon la ligne où elle est utilisée : doubler la valeur uniquement après la ligne 10.
La même formule retourne 100 quand elle est en ligne 5 (ligne <= 10) mais 200 quand elle est en ligne 12 ou 20 (ligne > 10). FONCTION.APPELANTE permet à la LAMBDA de connaître sa propre position, ce que les formules ordinaires ne peuvent pas faire.
| A | B | C | |
|---|---|---|---|
| 1 | Cellule | Formule | Résultat |
| 2 | B5 | =LAMBDA(v; SI(LIGNE(FONCTION.APPELANTE())>10; v*2; v))(100) | 100 |
| 3 | B12 | Même formule | 200 |
| 4 | B20 | Même formule | 200 |
=LAMBDA(valeur; SI(LIGNE(FONCTION.APPELANTE())>10; valeur*2; valeur))(100)Développeur Excel : obtenir l'adresse de la cellule appelante
Combine FONCTION.APPELANTE avec ADRESSE pour obtenir la référence de la cellule sous forme de texte. C'est utile pour le débogage de fonctions LAMBDA complexes ou pour créer des formules d'auto-documentation.
Cette même formule retourne $A$1 si elle est placée en A1, $C$5 si elle est en C5, et $Z$100 si elle est en Z100. La référence se met à jour automatiquement si tu déplaces la cellule.
| A | B | C | |
|---|---|---|---|
| 1 | Cellule | Formule | Résultat |
| 2 | A1 | =LAMBDA(; ADRESSE(LIGNE(FONCTION.APPELANTE()); COLONNE(FONCTION.APPELANTE())))() | $A$1 |
| 3 | C5 | Même formule | $C$5 |
| 4 | Z100 | Même formule | $Z$100 |
=LAMBDA(; ADRESSE(LIGNE(FONCTION.APPELANTE()); COLONNE(FONCTION.APPELANTE())))()Astuce de pro : Tu peux créer une fonction nommée "MonAdresse" dans le Gestionnaire de noms (Formules > Gestionnaire de noms) avec cette formule. Ensuite, =MonAdresse() retournera toujours l'adresse de la cellule où tu l'appelles.
Développeur Excel : fonction nommée avec contexte positionnel
Dans le Gestionnaire de noms (Formules > Gestionnaire de noms), définis une fonction "AjouteLigne" qui ajoute le numéro de ligne courante à sa valeur d'entrée. Une fois définie, tu peux l'appeler depuis n'importe quelle cellule.
Quand tu entres =AjouteLigne(10) en ligne 5, Excel retourne 15 (10+5). En ligne 20, il retourne 30 (10+20). C'est impossible à réaliser avec des formules ordinaires sans référence à une cellule externe.
| A | B | |
|---|---|---|
| 1 | Nom défini | Définition |
| 2 | AjouteLigne | =LAMBDA(x; x + LIGNE(FONCTION.APPELANTE())) |
=AjouteLigne(10)Développeur Excel : détecter les lignes paires et impaires
Bien que les formules ne contrôlent pas directement le formatage, tu peux utiliser FONCTION.APPELANTE pour retourner VRAI ou FAUX selon que la ligne est paire ou impaire. Cette valeur peut ensuite piloter une mise en forme conditionnelle pour alterner les couleurs de fond.
La formule retourne FAUX pour les lignes impaires (A1, A3) et VRAI pour les lignes paires (A2). Utilise =RESTE(LIGNE(FONCTION.APPELANTE());2)=1 pour l'inverse.
| A | B | C | |
|---|---|---|---|
| 1 | Cellule | Formule | Résultat |
| 2 | A1 | =LAMBDA(; RESTE(LIGNE(FONCTION.APPELANTE());2)=0)() | FAUX (ligne impaire) |
| 3 | A2 | Même formule | VRAI (ligne paire) |
| 4 | A3 | Même formule | FAUX (ligne impaire) |
=LAMBDA(; RESTE(LIGNE(FONCTION.APPELANTE());2)=0)()Développeur Excel : taux différencié selon la colonne
Crée une fonction qui applique un taux différent selon la colonne où elle est utilisée. Le taux augmente de 5 % par colonne : col A = +5 %, col B = +10 %, col C = +15 %.
Cette technique est utile pour des tableaux de simulation où chaque colonne représente un scénario avec un paramètre croissant. La LAMBDA s'adapte automatiquement à sa position sans qu'on lui passe le numéro de colonne manuellement.
| A | B | C | |
|---|---|---|---|
| 1 | Colonne | Taux appliqué | Valeur 100 |
| 2 | A (col 1) | +5 % | 105 |
| 3 | B (col 2) | +10 % | 110 |
| 4 | C (col 3) | +15 % | 115 |
=LAMBDA(v; v*(1+COLONNE(FONCTION.APPELANTE())*0,05))(100)Envie de t'entraîner sur de vrais exercices Excel ?
M'entraînerLes erreurs fréquentes avec la fonction FONCTION.APPELANTE
FONCTION.APPELANTE est une fonction de niche, et ses soucis viennent presque toujours du contexte où tu l'appelles plutôt que de la formule elle-même. Hors d'une LAMBDA ou d'un nom défini son comportement n'est plus garanti, et comme elle lit la position courante, couper-coller la cellule change le résultat.
Deux autres pièges à connaître : elle exige Excel 365 ou 2021+ (sinon #NOM? à l'ouverture chez tes destinataires), et appelée des milliers de fois elle recalcule à chaque modification, ce qui peut traîner sur une grosse feuille.
Comportement imprévisible hors d'une LAMBDA
FONCTION.APPELANTE est conçue pour fonctionner à l'intérieur de fonctions LAMBDA ou de noms définis. Utilisée directement dans une cellule hors de ce contexte, son comportement n'est pas garanti et peut retourner des erreurs.
Solution : Utilise toujours FONCTION.APPELANTE à l'intérieur d'une LAMBDA : =LAMBDA(param; calcul_avec_FONCTION.APPELANTE)(arg). Ou définis-la dans un nom via le Gestionnaire de noms pour la réutiliser proprement.
Résultat qui change après déplacement de cellule
FONCTION.APPELANTE retourne la position courante de la cellule. Si tu coupes et colles la cellule ailleurs, le résultat change car la position a changé. Ce n'est pas un bug mais le comportement attendu.
Solution : Assure-toi que le recalcul automatique est activé : Formules > Options de calcul > Automatique. Si tu as besoin d'un résultat stable indépendant de la position, n'utilise pas FONCTION.APPELANTE.
Erreur de compatibilité sur les versions antérieures
FONCTION.APPELANTE nécessite Excel 365 ou Excel 2021+. Sur Excel 2019 ou antérieur, les classeurs contenant cette fonction afficheront une erreur #NOM?.
Solution : Vérifie la version d'Excel des destinataires avant de partager des classeurs utilisant FONCTION.APPELANTE. Envisage de fournir une version alternative sans cette fonction pour les utilisateurs sur des versions plus anciennes.
Performances dégradées sur de grandes feuilles
FONCTION.APPELANTE implique un recalcul à chaque modification. Sur de très grandes feuilles avec des milliers de formules l'utilisant, cela peut impacter les performances de manière perceptible.
Solution : Utilise FONCTION.APPELANTE de façon ciblée, uniquement là où l'adaptation positionnelle est vraiment nécessaire. Pour les plages volumineuses, préfère passer le numéro de ligne ou de colonne comme argument explicite à ta LAMBDA.
Questions fréquentes sur la fonction FONCTION.APPELANTE
À quoi sert FONCTION.APPELANTE ?
FONCTION.APPELANTE est principalement utilisée dans les fonctions LAMBDA pour connaître la cellule qui a appelé la fonction. Cela permet de créer des fonctions personnalisées qui peuvent agir différemment selon leur position dans la feuille de calcul.
Par exemple, une même LAMBDA peut doubler la valeur après la ligne 10, ou appliquer un taux croissant selon la colonne. C'est ce qu'on appelle des fonctions "sensibles au contexte".
Quelle version d'Excel supporte FONCTION.APPELANTE ?
FONCTION.APPELANTE est disponible dans Excel 365 et les versions récentes qui supportent LAMBDA. C'est une fonction relativement récente, introduite avec les fonctionnalités de programmation avancées d'Excel.
Elle n'est pas disponible dans Excel 2019 ou les versions antérieures. Vérifie la compatibilité avant de partager des classeurs contenant ces formules.
Que retourne FONCTION.APPELANTE exactement ?
Elle retourne une référence à la cellule qui contient la formule appelante. Cette référence peut ensuite être utilisée avec d'autres fonctions comme LIGNE(), COLONNE() ou ADRESSE() pour obtenir des informations sur la position.
Concrètement, si ta formule est en B5, LIGNE(FONCTION.APPELANTE()) retourne 5 et COLONNE(FONCTION.APPELANTE()) retourne 2.
Puis-je utiliser FONCTION.APPELANTE en dehors de LAMBDA ?
FONCTION.APPELANTE est conçue pour fonctionner principalement avec LAMBDA. En dehors de ce contexte, son comportement peut être imprévisible ou retourner une erreur. Elle est rarement utilisée seule.
L'usage recommandé est toujours à l'intérieur d'une LAMBDA définie inline ou dans le Gestionnaire de noms.
Comment créer une fonction qui change de comportement selon sa position ?
Utilise FONCTION.APPELANTE avec LIGNE() ou COLONNE() dans une LAMBDA. Par exemple, =LAMBDA(val; SI(RESTE(LIGNE(FONCTION.APPELANTE());2)=0; val*1,1; val))(A1) applique +10 % uniquement sur les lignes paires.
Tu peux aussi utiliser ADRESSE() pour obtenir la référence sous forme de texte et faire des comparaisons plus complexes. Définis la LAMBDA dans le Gestionnaire de noms pour la réutiliser proprement.
Pour aller plus loin
Bloqué sur une formule Excel ?
Pose ta question à notre assistant Excel IA, il te sort la bonne formule en quelques secondes.
Essayer l'assistant IAGratuit · 10 questions par mois
