Accéder au contenu principal

Erreur #SPILL! Excel : ce que cela signifie et comment la corriger

Comprenez pourquoi l’erreur #SPILL! apparaît avec les matrices dynamiques dans Excel. Apprenez à la corriger, à la prévenir et à tirer le meilleur parti des formules matricielles d’Excel.
Actualisé 19 sept. 2026  · 8 min lire

Explorer avec l’IA

ChatGPTClaudePerplexity

L’erreur #SPILL! dans Excel est directement liée à la puissante fonctionnalité de matrices dynamiques introduite dans Excel 365. Même si elle peut sembler frustrante au premier abord, cette erreur est en réalité un signal utile indiquant que quelque chose, souvent une cellule qui bloque, empêche votre formule d’afficher tous les résultats attendus.

Les matrices dynamiques permettent aux formules de renvoyer automatiquement plusieurs valeurs dans des cellules adjacentes, mais elles introduisent aussi de nouveaux comportements et, avec eux, de nouveaux types d’erreurs. Plutôt que de voir #SPILL! comme un obstacle, considérez-le comme une occasion d’affiner la logique, la mise en page et l’efficacité de votre feuille de calcul.

Dans ce guide, j’explique les différentes causes de l’erreur #SPILL! et comment la dépanner à l’aide d’exemples concrets. Si vous débutez sur Excel, notre cours Introduction to Excel couvre les compétences essentielles comme la navigation dans l’interface, la compréhension des formats de données et l’utilisation des fonctions de base.

Qu’est-ce que l’erreur SPILL dans Excel ?

L’erreur #SPILL! indique qu’une formule tente de renvoyer plusieurs valeurs, mais que quelque chose empêche la sortie de « se déverser » dans l’ensemble de cellules nécessaire. Ce concept vient des matrices dynamiques d’Excel 365, où une seule formule peut remplir automatiquement des résultats sur plusieurs cellules adjacentes, appelées zone de déversement (spill range).

Imaginez que vous versiez de l’eau dans une rangée de verres vides : si certains verres sont déjà pleins (des cellules contiennent déjà des données ou sont bloquées), l’eau ne peut pas s’écouler correctement et Excel affiche une erreur #SPILL! pour vous en avertir. C’est un changement majeur par rapport aux anciennes versions d’Excel, qui utilisaient l’intersection implicite et ne renvoyaient qu’une seule valeur, même si la formule faisait référence à une plage. Avec les matrices dynamiques, Excel est plus intelligent et plus puissant, mais il exige aussi une meilleure attention à ce qui se passe autour des cellules concernées.

Causes fréquentes de l’erreur #SPILL!

L’erreur #SPILL! peut apparaître pour plusieurs raisons. Comprendre la cause racine vous aide à la corriger rapidement. Voici les causes les plus courantes, avec des exemples pratiques et des conseils pour les reconnaître et les résoudre.

Cellules fusionnées

Si une cellule de la zone de déversement est fusionnée, la formule ne peut pas se déverser. Dans l’exemple ci-dessous, vous obtenez l’erreur #SPILL! car les cellules « B3 » et « C3 » sont fusionnées et la formule ne peut pas se déverser dans « B3 ».

Erreur #SPILL! dans Excel causée par des cellules fusionnées

Matrices dynamiques dans des tableaux

Les formules à matrice dynamique ne fonctionnent pas dans les tableaux Excel créés avec Ctrl + T. Leur mode de référencement structuré entre en conflit avec le déversement. Dans l’exemple ci-dessous, Excel renvoie une erreur #SPILL! car les matrices dynamiques ne peuvent pas s’étendre à l’intérieur d’un tableau.

Erreur #SPILL! dans Excel causée par des matrices dynamiques dans des tableaux

Zone de déversement obstruée

Les causes les plus fréquentes de l’erreur #SPILL! sont des obstructions visibles ou invisibles dans les cellules où la formule veut se déverser. Les obstructions visibles incluent des données, des formules ou du texte déjà présents dans les cellules cibles. Dans l’exemple ci-dessous, l’erreur #SPILL! survient car la cellule « B4 » contient déjà des données.

Zone de déversement obstruée dans Excel

Les obstructions invisibles peuvent être des chaînes vides (""), des espaces ou un format masqué. Dans ce cas, Excel entoure la zone de déversement prévue d’un liseré en pointillés et affiche une icône d’erreur sur laquelle vous pouvez cliquer pour obtenir des détails.

Obstruction invisible de la zone de déversement dans Excel

Erreurs de syntaxe ou liaisons de classeur défaillantes

Une syntaxe de formule incorrecte ou des liens rompus vers des classeurs externes peuvent également déclencher l’erreur #SPILL!.

Taille de la formule inconnue ou trop grande

Vous obtiendrez une erreur #SPILL! si vous utilisez des formules qui génèrent des matrices très volumineuses, telles que =RANDARRAY(1000000,1) ou celles qui référencent des colonnes entières comme =A:A. Ces formules peuvent dépasser les limites de lignes ou de colonnes d’Excel, ou Excel peut manquer de mémoire lors du calcul de la matrice.

Comment corriger une erreur #SPILL! pas à pas

Résoudre une erreur #SPILL! peut être rapide si vous suivez une démarche structurée. Voici un guide étape par étape pour identifier et corriger le problème.

Étape 1 : identifier la cause

Commencez par cliquer sur l’icône d’avertissement à côté de la cellule #SPILL!. Si l’option Sélectionner les cellules obstructrices apparaît, utilisez-la pour surligner les cellules qui bloquent le déversement.

Vérifier l’avertissement d’erreur #SPILL! dans Excel

Étape 2 : vider la zone de déversement

Si la formule est bloquée par d’autres contenus :

  • Sélectionnez les cellules délimitées par le liseré en pointillés de déversement.
  • Allez dans l’onglet Accueil > Effacer > Effacer le contenu ou Tout effacer.

Vider la zone de déversement dans Excel

Étape 3 : dissocier les cellules ou déplacer la formule

Si des cellules fusionnées bloquent le déversement :

  • Sélectionnez les cellules fusionnées puis allez dans Accueil > Fusionner et centrer > Dissocier les cellules.

Vider la zone de déversement dans Excel

Pour centrer visuellement du texte sans fusionner les cellules, utilisez Centrer sur la sélection dans Format de cellule > Alignement.

Utiliser Centrer sur la sélection pour centrer sans fusionner

Autre option : déplacez votre formule dans une zone sans cellules fusionnées pour éviter l’erreur #SPILL!.

Étape 4 : ajuster la disposition des tableaux

Comme les matrices dynamiques ne fonctionnent pas dans les tableaux Excel :

  • Clic droit dans le tableau > Tableau > Convertir en plage.
  • Réentrez ensuite votre formule en dehors de la zone du tableau.

Convertir un tableau en plage dans Excel

Je vous recommande de positionner vos formules à matrice dynamique à l’écart des tableaux Excel autant que possible.

Étape 5 : utiliser l’opérateur @ pour un seul résultat

Vous pouvez utiliser l’opérateur @ pour ne récupérer qu’une seule valeur d’une formule dynamique (et non une zone déversée). Par exemple, la formule =@A2:A10 renvoie uniquement le premier élément (A1).

Utiliser l’opérateur @ pour obtenir une valeur unique d’une formule dynamique

En revanche, =A2:A10 déverse les résultats dans les autres cellules pour renvoyer toute la plage.

Formule de zone de déversement dans Excel

Étape 6 : tester les formules dans des zones vierges

Si vous n’êtes toujours pas sûr de la cause, copiez la formule dans une partie totalement vide de la feuille. Cette approche permet d’isoler si l’erreur provient de la formule elle-même ou d’obstructions dans les cellules environnantes.

Exemples de dépannage

Maintenant que nous avons vu comment résoudre l’erreur #SPILL! dans Excel, voici des exemples pratiques de dépannage à l’aide de fonctions courantes et de matrices dynamiques.

VLOOKUP() renvoie une erreur #SPILL!

Vous pourriez penser que VLOOKUP() renvoie toujours une seule valeur, mais associé à une plage de valeurs de recherche comme A2:A10, il tente de produire plusieurs résultats sur plusieurs lignes.

Dans l’exemple ci-dessous, Excel essaie de renvoyer 10 valeurs (une pour chaque recherche), mais une erreur #SPILL! survient car les cellules situées sous la formule ne sont pas vides.

Erreur #SPILL! Excel provenant de la fonction VLOOKUP()

Pour corriger ce problème, assurez-vous que la plage de destination (ici, les 10 lignes suivantes) est vide, puis réappliquez la formule.

Zone de déversement de la fonction VLOOKUP() dans Excel

Exemples avec FILTER(), INDEX()-MATCH() et IF()

Des formules compatibles avec les matrices dynamiques comme FILTER(), INDEX MATCH, et IF() peuvent générer plusieurs sorties selon la logique et les références. Une disposition mal pensée conduit souvent à #SPILL!.

Considérez l’exemple ci-dessous « Correspondance de critères sur plusieurs colonnes ». La formule ci-dessous renvoie toutes les lignes de la colonne A où « Red » et « Large » correspondent. Si la zone de déversement est bloquée, vous obtiendrez une erreur #SPILL!.

=FILTER(A2:A100, (B2:B100="Red")*(C2:C100="Large"))

Utiliser la fonction FILTER() d’Excel pour la zone de déversement

De même, vous pouvez utiliser l’ensemble INDEX()-MATCH() pour renvoyer plusieurs résultats de recherche pour une plage d’entrées. Mais si la zone située sous la formule est bloquée ou mal alignée, le déversement est impossible.

=INDEX(A2:A100, MATCH(E3:E10, B2:B100, 0))

Utiliser INDEX MATCH pour le déversement

Pensez à utiliser LET() et SEQUENCE() pour plus de clarté et de contrôle. Par exemple, dans la formule ci-dessous, FILTER() déverse une liste, mais TEXTJOIN() la compresse dans une seule cellule, évitant ainsi tout déversement. C’est un bon modèle de conception quand vous voulez un résultat dynamique tout en évitant #SPILL!.

=LET(colors, FILTER(A2:A10, B2:B10="Blue"), TEXTJOIN(", ", TRUE, colors))

Utiliser LET(), FILTER(), TEXTJOIN() pour éviter l’erreur #SPILL!

Bonnes pratiques pour éviter les erreurs de déversement

Pour réduire le risque d’erreurs #SPILL!, tenez compte des bonnes pratiques suivantes lors de la conception et de la maintenance de vos classeurs Excel :

  • Laissez de la place pour l’extension des matrices dynamiques : assurez-vous qu’il y a suffisamment d’espace vide en dessous et à droite de l’endroit où une formule à matrice dynamique peut s’étendre à mesure que les données grandissent.

  • Évitez les formules dynamiques dans les tableaux structurés : puisque les tableaux Excel ne gèrent pas le déversement, utilisez ces formules en dehors des tableaux ou convertissez le tableau en plage standard si vous devez les utiliser.

  • Utilisez @ lorsqu’un seul résultat est attendu : si vous ne souhaitez qu’une valeur unique d’une formule susceptible de se déverser, préfixez-la avec l’opérateur @.

  • Documentez la logique de mise en page avec des commentaires ou des couleurs : utilisez des notes, des commentaires ou des couleurs de remplissage pour indiquer visuellement les zones réservées aux formules dynamiques. Cela aide vos collaborateurs à comprendre le fonctionnement de la feuille lors du partage.

  • Nettoyez régulièrement les feuilles pour éviter les obstructions invisibles : supprimez les formats inutilisés, les formules renvoyant une chaîne vide ("") et les espaces fantômes. Utilisez « Tout effacer » plutôt que simplement « Supprimer » pour réinitialiser réellement les cellules de la zone de déversement.

En résumé : l’essentiel à retenir

#SPILL! survient lorsqu’une formule tente de renvoyer plusieurs valeurs mais que la zone de sortie est bloquée. Plutôt qu’un simple désagrément, cette erreur met en lumière des problèmes de mise en page ou de formule. Les outils intégrés d’Excel, comme l’icône d’erreur et l’option Sélectionner les cellules obstructrices, facilitent l’identification et la correction. En concevant votre feuille avec les matrices dynamiques à l’esprit, vous éviterez des erreurs futures et créerez des classeurs plus clairs et plus efficaces. À bien des égards, l’erreur #SPILL! est utile : elle rend visibles des problèmes potentiels et encourage une meilleure conception de feuilles de calcul.

Je vous recommande notre cours Data Analysis in Excel pour apprendre à générer des insights, ainsi que notre Excel Fundamentals skill track pour approfondir les fonctions disponibles dans les dernières versions d’Excel. Notre cours Advanced Excel Functions est également idéal pour explorer les références avancées et les recherches, que j’ai commencé à présenter tout au long de cet article.

Faites progresser votre carrière avec Excel

Acquérir les compétences nécessaires pour optimiser Excel - aucune expérience n'est requise.

Commencez Aujourd'hui Gratuitement

Allan Ouko's photo
Author
Allan Ouko
LinkedIn
Je crée des articles qui simplifient la science des données et l'analyse, en les rendant faciles à comprendre et accessibles.

FAQs

Que signifie l’erreur #SPILL! dans Excel ?

L’erreur #SPILL! signifie qu’une formule tente de renvoyer plusieurs valeurs, mais que la sortie est bloquée.

Comment trouver ce qui bloque le déversement ?

Cliquez sur l’icône d’erreur et choisissez « Sélectionner les cellules obstructrices » pour mettre en évidence le problème.

Comment corriger rapidement une erreur #SPILL! ?

Videz les cellules qui bloquent ou déplacez la formule vers une zone libre.

Comment prévenir les erreurs #SPILL! à l’avenir ?

Laissez suffisamment d’espace pour les matrices dynamiques, évitez les tableaux et gardez les zones de déversement dégagées.

Pourquoi l’erreur #SPILL! est-elle finalement utile ?

Elle met en évidence des problèmes de mise en page ou de formule, ce qui facilite leur détection et leur correction en amont.

Sujets
Excel

Apprenez avec DataCamp

Cours

Analyse de données dans Excel

3 h
151.7K
Apprenez à analyser des données avec les tableaux croisés et fonctions logiques avant d'utiliser d'autres outils.
Afficher les détailsRight Arrow
Commencer Le Cours
Voir plusRight Arrow