CARTE : Maîtrisez la formule de transformation de tableaux Excel
=CARTE(matrice1; [matrice2]; ...; lambda)La formule CARTE est une fonction révolutionnaire d'Excel 365 qui transforme votre façon de travailler avec les données. Introduite dans la suite Microsoft 365, elle permet d'appliquer une fonction LAMBDA personnalisée à chaque élément d'un ou plusieurs tableaux, ouvrant des possibilités infinies de manipulation de données sans avoir besoin de formules complexes imbriquées. Contrairement aux approches traditionnelles qui nécessitaient des colonnes auxiliaires ou des macros VBA, CARTE simplifie radicalement les transformations de données en permettant une programmation fonctionnelle native dans Excel. Cette formule s'inscrit dans une nouvelle génération de fonctions Excel conçues pour les professionnels modernes qui manipulent des volumes de données importants. Elle fonctionne en tandem avec LAMBDA, REDUCE et SCAN pour créer des workflows de traitement de données hautement sophistiqués. Que vous ayez besoin de convertir des formats, d'appliquer des calculs complexes ou de restructurer vos données, CARTE offre une solution élégante et performante qui réduit drastiquement la complexité de vos feuilles de calcul.
Syntaxe et paramètres
La syntaxe de CARTE est structurée autour de deux composants essentiels : les tableaux source et la fonction LAMBDA. La formule s'écrit =CARTE(matrice1; [matrice2]; ...; lambda) où matrice1 est obligatoire et représente le premier tableau à transformer. Vous pouvez ajouter jusqu'à 254 tableaux supplémentaires, ce qui permet de traiter plusieurs sources de données simultanément en synchronisation. Le paramètre lambda est obligatoire et doit être une fonction LAMBDA valide qui accepte le même nombre de paramètres que de tableaux fournis. Chaque élément des tableaux est traité itérativement, et la fonction LAMBDA est appliquée à chaque position correspondante. Les résultats sont agrégés dans un nouveau tableau de même dimension que l'entrée. Important : tous les tableaux doivent avoir exactement les mêmes dimensions, sinon Excel retournera une erreur #VALUE!. La fonction LAMBDA reçoit les éléments comme arguments et peut effectuer n'importe quel calcul, appel de fonction ou logique personnalisée. Vous pouvez utiliser des opérateurs mathématiques, du texte, des conditions imbriquées, ou même des appels à d'autres fonctions Excel.
array1lambdaExemples pratiques
Conversion de températures en masse
=CARTE(B2:D6; LAMBDA(x; (x-32)*5/9))La formule applique la conversion Fahrenheit vers Celsius à chaque cellule du tableau B2:D6. La fonction LAMBDA reçoit chaque valeur x et applique la formule mathématique de conversion. Le résultat est un tableau de même dimension avec toutes les températures converties.
Calcul de commissions multi-niveaux
=CARTE(A2:A51; B2:B51; LAMBDA(vente; taux; SI(vente>10000; vente*taux*1.5; SI(vente>5000; vente*taux*1.2; vente*taux))))Cette formule combine deux tableaux : les montants de ventes et les taux. La fonction LAMBDA reçoit deux paramètres et applique une logique conditionnelle pour calculer les commissions avec des bonus progressifs. Chaque vendeur reçoit une commission adaptée à son niveau de performance.
Nettoyage et normalisation de données texte
=CARTE(C2:C201; LAMBDA(nom; MAJUSCULE(TRIM(EPURER(nom)))))La formule combine trois fonctions : EPURER supprime les espaces inutiles, TRIM nettoie les espaces de début/fin, et MAJUSCULE standardise la casse. Chaque nom est traité individuellement pour garantir une cohérence maximale. Cette approche est bien plus efficace qu'une colonne auxiliaire.
Points clés à retenir
- CARTE transforme chaque élément d'un ou plusieurs tableaux en appliquant une fonction LAMBDA, idéale pour les transformations de données complexes sans colonnes auxiliaires
- Tous les tableaux doivent avoir exactement les mêmes dimensions ; sinon, Excel retourne #VALUE!
- CARTE fonctionne uniquement dans Excel 365 et représente une avancée majeure dans la programmation fonctionnelle native d'Excel
- Combinée avec FILTRE, SCAN, REDUCE et d'autres fonctions dynamiques, CARTE crée des workflows de traitement de données sophistiqués et efficaces
- Utilisez des noms de plages et testez vos fonctions LAMBDA indépendamment pour maximiser la maintenabilité et réduire les erreurs
Astuces de pro
Utilisez des noms de plages pour vos tableaux source afin de rendre vos formules CARTE plus lisibles et maintenables. Par exemple, définissez 'MontantsVentes' pour B2:B100, puis écrivez =CARTE(MontantsVentes; LAMBDA(x; x*1.1)).
Impact : Améliore la clarté du code, facilite la maintenance, et rend les formules auto-documentées pour vos collègues
Testez votre fonction LAMBDA indépendamment avant de l'utiliser dans CARTE. Créez une cellule de test avec =LAMBDA(x; x*2)(5) pour vérifier que votre logique fonctionne avant de l'appliquer à tout un tableau.
Impact : Économise du temps de débogage, réduit les erreurs, et vous permet d'itérer rapidement sur votre logique
Combinez CARTE avec des conditions imbriquées dans LAMBDA pour créer des transformations intelligentes. Par exemple : =CARTE(A1:A100; LAMBDA(x; SI(ESTNUM(x); x*2; CONCAT(x; " (texte)")))).
Impact : Permet de traiter des données mixtes (nombres et texte) dans un seul tableau, augmente la flexibilité et réduit le besoin de pré-traitement
Utilisez CARTE en combinaison avec TRANSPOSE pour appliquer des transformations sur les colonnes au lieu des lignes, permettant une grande flexibilité dans l'orientation de vos données.
Impact : Offre une flexibilité maximale pour réorienter et transformer vos données selon vos besoins spécifiques
Combinaisons utiles
CARTE + FILTRE pour transformer puis filtrer
=FILTRE(CARTE(A1:A100; LAMBDA(x; x*1.1)); CARTE(A1:A100; LAMBDA(x; x*1.1))>100)Cette combinaison d'abord applique une augmentation de 10% à tous les éléments avec CARTE, puis filtre pour ne garder que les valeurs supérieures à 100. C'est utile pour identifier les éléments qui dépassent un seuil après transformation.
CARTE + SOMME pour transformer et agréger
=SOMME(CARTE(B2:B50; LAMBDA(x; SI(x>1000; x*0.05; 0))))Calcule le total des commissions en appliquant d'abord une logique conditionnelle via CARTE (commission de 5% seulement sur les montants > 1000), puis agrège le résultat. Combine la puissance de transformation et d'agrégation.
CARTE + SCAN pour historique de transformations
=SCAN(0; A1:A10; LAMBDA(acc; x; acc + CARTE(x; LAMBDA(v; v*2))))Crée un historique de valeurs transformées et accumulées. Chaque étape double la valeur avec CARTE, puis SCAN accumule les résultats. Parfait pour les séries temporelles ou les calculs progressifs.
Erreurs courantes
Cause : Les tableaux fournis n'ont pas les mêmes dimensions. Par exemple, =CARTE(A1:A10; B1:B5; LAMBDA(x;y;x+y)) où les deux tableaux ont des tailles différentes.
Solution : Vérifiez que tous les tableaux ont exactement le même nombre de lignes ET de colonnes. Utilisez des références absolues pour éviter les décalages accidentels lors de la copie.
Cause : La fonction LAMBDA n'est pas reconnue ou la syntaxe est incorrecte. Cela peut survenir si vous utilisez une version d'Excel antérieure à 2021 ou si la syntaxe LAMBDA est malformée.
Solution : Assurez-vous d'utiliser Excel 365 avec les mises à jour récentes. Vérifiez que LAMBDA est correctement écrite avec la bonne syntaxe : LAMBDA(param1; param2; expression). Testez d'abord LAMBDA seule.
Cause : Les références de cellules dans la formule CARTE sont brisées, généralement après suppression de lignes/colonnes ou mauvaise gestion des plages.
Solution : Recréez la formule en utilisant les références correctes. Utilisez des noms de plages pour plus de robustesse : =CARTE(MaPlage; LAMBDA(x; x*2)). Vérifiez que les plages source existent toujours.
Checklist de dépannage
- 1.Vérifiez que tous les tableaux ont exactement les mêmes dimensions (même nombre de lignes ET de colonnes)
- 2.Assurez-vous que vous utilisez Excel 365 avec les mises à jour les plus récentes (CARTE n'est pas disponible dans les versions antérieures)
- 3.Testez votre fonction LAMBDA isolément avant de l'intégrer à CARTE pour vous assurer qu'elle fonctionne correctement
- 4.Vérifiez que le nombre de paramètres dans LAMBDA correspond au nombre de tableaux fournis à CARTE
- 5.Utilisez Ctrl+Maj+Entrée si vous travaillez sur une version ancienne ou si la formule ne s'exécute pas comme formule matricielle
- 6.Consultez la barre de formule pour identifier les erreurs de syntaxe, en particulier les points-virgules et les parenthèses mal placés
Cas particuliers
Tableau contenant des valeurs mixtes (nombres, texte, booléens, erreurs)
Comportement : CARTE traite chaque type de donnée selon sa nature. Les erreurs dans le tableau source sont généralement propagées dans le résultat.
Solution : Utilisez des conditions dans LAMBDA pour gérer les types mixtes : LAMBDA(x; SI(ESTNUM(x); x*2; x))
Prévoyez la gestion des types de données dans votre fonction LAMBDA pour éviter les erreurs inattendues
Tableaux contenant des références circulaires ou des formules complexes
Comportement : CARTE évalue les formules avant d'appliquer LAMBDA, ce qui peut créer des références circulaires si vous n'êtes pas prudent.
Solution : Évitez de référencer la cellule contenant CARTE à l'intérieur de la fonction LAMBDA elle-même
Les références circulaires peuvent créer des boucles infinies ou des erreurs de calcul
Tableaux très volumineux (100 000+ cellules) avec des fonctions LAMBDA complexes
Comportement : Le temps de calcul peut augmenter significativement, et Excel peut devenir lent ou instable.
Solution : Segmentez vos données en sous-ensembles plus petits, utilisez Power Query pour les volumes extrêmes, ou simplifiez votre fonction LAMBDA
Les performances dépendent du matériel et de la complexité de la fonction LAMBDA
Limitations
- •CARTE n'est disponible que dans Excel 365 ; elle n'existe pas dans Excel 2019, 2016 ou les versions antérieures, limitant son adoption en entreprises avec des environnements hérités
- •Tous les tableaux doivent avoir exactement les mêmes dimensions ; il n'y a pas de mécanisme d'alignement automatique comme dans certaines autres fonctions
- •La complexité de la fonction LAMBDA peut devenir un facteur limitant pour les transformations très sophistiquées ; au-delà d'une certaine complexité, Power Query ou VBA peut être plus approprié
- •CARTE ne peut traiter que des tableaux ; elle ne fonctionne pas directement avec des cellules isolées ou des plages non contiguës sans préparation préalable
Alternatives
Compatibilité
✓ Excel
Depuis Excel 365 (2021 ou plus récent)
=CARTE(matrice1; [matrice2]; ...; lambda)✓Google Sheets
=MAP(range1, [range2], ..., lambda_function)Google Sheets utilise MAP au lieu de CARTE. La syntaxe est identique mais le nom de fonction diffère. Disponible dans Google Sheets avec les mises à jour récentes.
✗LibreOffice
Non disponible