Fonction ISOMITTEDCréer des arguments optionnels dans tes fonctions LAMBDA – Guide 2026
ISOMITTED est une fonction Excel 365 qui vérifie si un paramètre a été omis lors de l'appel d'une fonction LAMBDA. Elle te permet de créer des fonctions personnalisées flexibles avec des arguments optionnels et des valeurs par défaut, exactement comme les fonctions Excel natives.
Disponible uniquement dans Excel 365, cette fonction révolutionne la création de formules réutilisables en te donnant un contrôle total sur le comportement de tes fonctions LAMBDA. Découvre comment construire des outils professionnels adaptables à différents contextes métier.
Syntaxe
ISOMITTED(argument)Retour : VRAI si l'argument n'a pas été fourni à la fonction LAMBDA, FAUX si l'argument a été fourni
Utilisation : Uniquement à l'intérieur d'une fonction LAMBDA pour tester les paramètres optionnels
Comprendre chaque paramètre
argument
(obligatoire)Le paramètre de la fonction LAMBDA que tu veux tester. Il doit être déclaré comme argument optionnel en l'entourant de crochets dans la définition de ta LAMBDA : LAMBDA(x; [argument]; calcul).
Astuce Pro
Place toujours tes arguments optionnels à la fin de la liste des paramètres LAMBDA. Cela suit les conventions de programmation et rend ton code plus lisible. Par exemple : LAMBDA(obligatoire1; obligatoire2; [optionnel1]; [optionnel2]; calcul).
Exemples en contexte professionnel
1. Créer des fonctions LAMBDA flexibles avec valeurs par défaut
Tu souhaites créer une fonction de calcul de remise réutilisable qui applique un taux par défaut de 10% si aucun taux spécifique n'est fourni. ISOMITTED te permet de détecter l'absence de paramètre et d'appliquer automatiquement le taux standard.
ISOMITTED détecte l'absence du paramètre taux et applique automatiquement 10% de remise.
| A | B | C | |
|---|---|---|---|
| 1 | Prix HT | Calcul | Prix avec remise |
| 2 | 1 000 € | =REMISE(A2) | 900 € |
| 3 | 2 500 € | =REMISE(A3; 0,15) | 2 125 € |
| 4 | 750 € | =REMISE(A4) | 675 € |
REMISE = LAMBDA(prix; [taux]; prix * (1 - SI(ISOMITTED(taux); 0,1; taux)))Cas d'usage
Utilise cette approche pour toutes les fonctions de tarification : calcul de marge, frais de port, commission commerciale. Tu crées ainsi une bibliothèque de fonctions professionnelles adaptables à différents scénarios.
2. Construire des modèles de calcul réutilisables
Pour standardiser les calculs dans ton entreprise, tu crées un modèle de calcul de TVA qui peut gérer différents taux selon le produit (20%, 10%, 5,5%, 2,1%). Sans paramètre, il applique le taux normal de 20%.
Une seule fonction pour tous les cas de TVA : ISOMITTED simplifie la gestion des différents taux.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Prix HT | Type produit | Formule | Prix TTC |
| 2 | 100 € | Standard | =CALC_TTC(A2) | 120 € |
| 3 | 50 € | Alimentaire | =CALC_TTC(A3; 0,055) | 52,75 € |
| 4 | 200 € | Médicament | =CALC_TTC(A4; 0,021) | 204,20 € |
CALC_TTC = LAMBDA(ht; [taux_tva]; ht * (1 + SI(ISOMITTED(taux_tva); 0,2; taux_tva)))Bonne pratique
Documente les valeurs par défaut dans le nom de gestionnaire : CALC_TTC_Defaut20. Cela rend explicite le comportement de ta fonction et facilite la maintenance.
3. Gérer les paramètres fiscaux optionnels
Dans un contexte de gestion salariale, tu dois calculer le net après prélèvement à la source. Le taux varie selon le salarié, mais tu veux pouvoir utiliser un taux moyen par défaut pour les simulations rapides.
ISOMITTED combiné avec LET crée une fonction de paie flexible et lisible.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Brut | Taux perso | Formule | Net |
| 2 | 3 000 € | - | =NET(A2) | 2 580 € |
| 3 | 4 500 € | 11% | =NET(A3; 0,11) | 4 005 € |
| 4 | 2 200 € | - | =NET(A4) | 1 892 € |
NET = LAMBDA(brut; [taux_prelevement]; LET(taux; SI(ISOMITTED(taux_prelevement); 0,14; taux_prelevement); brut * (1 - taux)))Combinaison puissante
Associe ISOMITTED avec LET pour nommer explicitement tes variables par défaut. Ton code devient auto-documenté : LET(taux; SI(ISOMITTED(t); taux_defaut; t); calcul).
4. Dégradation gracieuse des fonctions personnalisées
Tu développes une fonction de formatage de références produit qui peut ajouter un préfixe et un suffixe. Si ces éléments ne sont pas fournis, la fonction retourne simplement le numéro de base. Cela permet une utilisation progressive de ta fonction.
Deux tests ISOMITTED permettent une fonction ultra-flexible avec trois niveaux d'utilisation.
| A | B | C | |
|---|---|---|---|
| 1 | Numéro | Formule | Référence finale |
| 2 | 12345 | =FORMAT_REF(A2) | 12345 |
| 3 | 67890 | =FORMAT_REF(A3; "PRD") | PRD-67890 |
| 4 | 24680 | =FORMAT_REF(A4; "SRV"; "2024") | SRV-24680-2024 |
FORMAT_REF = LAMBDA(num; [prefix]; [suffix]; SI(ISOMITTED(prefix); ""; prefix & "-") & num & SI(ISOMITTED(suffix); ""; "-" & suffix))Architecture évolutive
Cette approche "graceful degradation" rend tes fonctions utilisables à différents niveaux de complexité. Les utilisateurs débutants peuvent ignorer les paramètres avancés, tandis que les experts exploitent toute la puissance.
Erreurs fréquentes à éviter
❌ Utiliser ISOMITTED en dehors d'une fonction LAMBDA
ISOMITTED ne fonctionne qu'à l'intérieur d'une fonction LAMBDA. Tu ne peux pas l'utiliser directement dans une cellule ou dans une autre fonction Excel.
❌ Incorrect : =SI(ISOMITTED(A1); "Vide"; A1)✅ Correct : MAFONCTION = LAMBDA(x; SI(ISOMITTED(x); "Défaut"; x))❌ Oublier les crochets pour déclarer un paramètre optionnel
Dans la définition LAMBDA, tu dois entourer les paramètres optionnels avec des crochets. Sans cela, Excel considère le paramètre comme obligatoire et génère une erreur si tu l'omets.
❌ Incorrect : LAMBDA(x; y; SI(ISOMITTED(y); 10; y))✅ Correct : LAMBDA(x; [y]; SI(ISOMITTED(y); 10; y))❌ Confondre ISOMITTED avec ESTVIDE
ISOMITTED teste l'absence d'un argument dans un appel de fonction, tandis qu'ESTVIDE teste si une cellule est vide. Ce sont deux concepts différents : un argument peut être fourni avec une cellule vide comme valeur.
// ISOMITTED(x) = VRAI si on appelle =MAFONCTION() sans argument// ESTVIDE(A1) = VRAI si la cellule A1 est vide, même si on appelle =MAFONCTION(A1)❌ Ne pas gérer tous les arguments optionnels
Si tu as plusieurs paramètres optionnels, tu dois tester chacun individuellement avec ISOMITTED. Ne suppose jamais qu'un paramètre sera fourni.
❌ Incorrect : LAMBDA(x; [y]; [z]; x * y * z)✅ Correct : LAMBDA(x; [y]; [z]; x * SI(ISOMITTED(y); 1; y) * SI(ISOMITTED(z); 1; z))Comparaison avec les fonctions similaires
| Fonction | Usage principal | Contexte | Retour |
|---|---|---|---|
| ISOMITTED | Tester si un argument a été omis | Uniquement dans LAMBDA | VRAI / FAUX |
| LAMBDA | Créer une fonction personnalisée | Gestionnaire de noms | Fonction réutilisable |
| SI | Test conditionnel logique | Partout | Valeur selon condition |
| ESTVIDE | Vérifier si une cellule est vide | Partout | VRAI / FAUX |
| LET | Définir des variables nommées | Partout | Résultat du calcul |
| CHOISIR | Sélectionner parmi plusieurs valeurs | Partout | Valeur sélectionnée |
Quand utiliser chaque fonction ?
ISOMITTED : Pour créer des LAMBDA avec arguments optionnels et valeurs par défaut.
LAMBDA : Pour encapsuler une logique de calcul réutilisable en tant que fonction nommée.
SI : Pour toute logique conditionnelle simple dans tes formules.
ESTVIDE : Pour tester si une cellule contient une valeur ou non.
LET : Pour rendre tes formules complexes plus lisibles avec des variables intermédiaires.
Conseils avancés et bonnes pratiques
Combine ISOMITTED avec LET pour plus de lisibilité
Au lieu d'écrire SI(ISOMITTED(x); valeur; x) plusieurs fois, utilise LET pour définir une variable une seule fois. Cela rend ton code plus maintenable.
LAMBDA(prix; [remise]; LET(taux; SI(ISOMITTED(remise); 0,1; remise); prix * (1 - taux)))Documente tes valeurs par défaut
Ajoute un commentaire dans le gestionnaire de noms ou utilise une convention de nommage explicite pour indiquer les valeurs par défaut. Par exemple : CALC_TVA_Defaut20pct. Cela aide les autres utilisateurs (et toi dans 6 mois) à comprendre le comportement de la fonction.
Place les arguments optionnels en fin de liste
Suis la convention de programmation universelle : les paramètres obligatoires d'abord, les optionnels ensuite. Structure : LAMBDA(oblig1; oblig2; [opt1]; [opt2]; calcul). Cela rend ton code plus intuitif.
Teste chaque argument optionnel individuellement
Ne suppose jamais qu'un utilisateur fournira un argument optionnel. Teste explicitement chaque paramètre avec ISOMITTED et fournis une valeur par défaut cohérente. Cela évite les erreurs #CALCUL! et les comportements inattendus.
Crée des bibliothèques de fonctions réutilisables
Utilise ISOMITTED pour construire une collection de fonctions métier standardisées : calculs fiscaux, formatage, conversions, etc. Ces fonctions deviennent des outils puissants réutilisables dans tous tes classeurs, augmentant drastiquement ta productivité.
Questions fréquentes
Comment créer un argument optionnel avec LAMBDA ?
Utilise ISOMITTED dans ta fonction LAMBDA pour détecter si l'argument a été fourni, puis applique une valeur par défaut avec SI(ISOMITTED(arg); valeur_par_défaut; arg). Encadre l'argument optionnel avec des crochets dans la définition : LAMBDA(x; [optionnel]; calcul).
Quelle est la différence entre ISOMITTED et ESTVIDE ?
ISOMITTED vérifie si un argument n'a pas été passé à une fonction LAMBDA, tandis qu'ESTVIDE vérifie si une cellule est vide. ISOMITTED ne fonctionne qu'à l'intérieur de fonctions LAMBDA personnalisées et ne peut pas être utilisé ailleurs.
Peut-on avoir plusieurs arguments optionnels dans une LAMBDA ?
Oui, tu peux utiliser ISOMITTED pour plusieurs paramètres dans ta fonction LAMBDA. Place les arguments optionnels en fin de liste pour plus de clarté et teste chacun individuellement avec ISOMITTED. Par exemple : LAMBDA(x; [opt1]; [opt2]; SI(ISOMITTED(opt1); défaut1; opt1)).
ISOMITTED fonctionne-t-il avec les fonctions Excel natives ?
Non, ISOMITTED est exclusivement réservé aux fonctions LAMBDA personnalisées. Les fonctions Excel natives comme SOMME ou RECHERCHEV gèrent déjà leurs propres arguments optionnels en interne. ISOMITTED te permet de reproduire ce comportement dans tes propres fonctions.
Comment combiner ISOMITTED avec LET pour des calculs complexes ?
Tu peux utiliser LET à l'intérieur d'une LAMBDA pour définir des variables basées sur les résultats d'ISOMITTED. Par exemple : LAMBDA(x; [opt]; LET(valeur; SI(ISOMITTED(opt); défaut; opt); x * valeur)). Cela rend ton code plus lisible et maintenable.
Fonctions complémentaires à maîtriser
Maîtrise toutes les fonctions Excel avancées
Rejoins Le Dojo Club pour devenir un expert Excel et créer des formules professionnelles puissantes avec LAMBDA, ISOMITTED et bien plus encore.
Essayer pendant 30 jours