Qu'est-ce que la fonction DANSCOL ?
DANSCOL (TOCOL en anglais) te sert quand une fonction en aval, comme UNIQUE ou NB.SI, n'accepte qu'une plage à une seule dimension, alors que tes données sont réparties sur plusieurs colonnes. Elle t'évite de recomposer cette liste à la main à chaque fois que le tableau source change.
Introduite avec Excel 365, elle s'avère précieuse pour préparer une liste à partir d'une matrice de compétences, alimenter un graphique depuis un tableau croisé, dédoublonner des données réparties sur plusieurs colonnes avec UNIQUE, ou simplement réorganiser tes informations pour qu'elles entrent dans une autre formule dynamique. Ce qui prenait avant une macro ou un copier-coller minutieux se fait maintenant en une seule formule.
Syntaxe
=DANSCOL(tableau; [ignorer]; [par_colonne])Clique sur un argument pour aller à son explication.
DANSCOL est disponible uniquement dans Excel 365 et Excel 2021+. Dans Google Sheets, la fonction équivalente s'appelle FLATTEN.

Comprendre chaque paramètre de la fonction DANSCOL
DANSCOL n'a qu'une seule entrée obligatoire, tableau : le bloc de cellules que tu veux empiler en colonne. Les deux suivants sont facultatifs mais positionnels, donc [ignorer] passe toujours avant [par_colonne]. [ignorer] attend un chiffre (1 pour sauter les vides, 2 pour les erreurs, 3 pour les deux), et [par_colonne] à VRAI bascule la lecture de gauche-droite vers haut-bas, ce qui change tout l'ordre du résultat.
tableau
: le tableau ou la plage de cellules à transformer en colonneÇa peut être une référence comme A1:D10, un tableau nommé, ou le résultat d'une autre fonction dynamique comme FILTRE ou TRIER.
Toutes les cellules du tableau seront extraites et empilées dans une seule colonne verticale. Le nombre total de cellules du résultat est égal au nombre de lignes multiplié par le nombre de colonnes du tableau source.
[ignorer]
: indique quels types de valeurs ignorer dans la colonne résultat(facultatif)C'est un code numérique : 0 pour ne rien ignorer (comportement par défaut), 1 pour ignorer les cellules vides, 2 pour ignorer les erreurs, et 3 pour ignorer les deux simultanément.
Ce paramètre est particulièrement utile quand tu travailles avec des données importées qui contiennent des trous ou des erreurs que tu ne veux pas voir apparaître dans ta liste consolidée.
[par_colonne]
: définit l'ordre de lecture du tableau(facultatif)Avec la valeur par défaut FAUX, DANSCOL lit par lignes (de gauche à droite, puis ligne suivante, comme on lit un texte). Avec VRAI, elle lit par colonnes (de haut en bas, puis colonne suivante).
Ce paramètre change fondamentalement l'ordre des résultats et est crucial quand tu combines DANSCOL avec d'autres fonctions comme UNIQUE ou INDEX.
Attention : L'ordre de lecture est crucial quand tu combines DANSCOL avec d'autres fonctions. Assure-toi de choisir le bon mode selon tes besoins, surtout pour des données chronologiques où la séquence a du sens.

Exemples pratiques pas à pas
Comment transformer un tableau en une seule colonne avec la fonction DANSCOL
Tu prépares le plan de formation de l'année et tu dois savoir quels outils l'équipe maîtrise déjà. Les compétences sont rangées par domaine, une colonne pour la bureautique, une pour la data, une pour le développement, et tu veux la liste complète d'un seul tenant pour alimenter un menu déroulant ou un rapport. La fonction DANSCOL empile les trois colonnes en une seule d'un coup, sans copier-coller ni macro.
- 1Dans une cellule, écris
=DANSCOL(. - 2En 1er argument : sélectionne le bloc des compétences à empiler,
A2:C7. Tu laisses la ligne d'en-tête dehors, sinon les titresBureautique,DataetDéveloppementdescendraient dans la colonne au milieu des outils. La sélection couvre 6 lignes sur 3 colonnes, et la fonction ne regarde rien en dehors d'elle. - 3Ferme la parenthèse et appuie sur Entrée.
=DANSCOL(A2:C7)Comment ignorer les cellules vides et les erreurs avec la fonction DANSCOL
Tu récupères trois exports de références produits qui arrivent chacun dans sa colonne, et l'inventaire de demain se prépare à partir de cette liste. Le souci, c'est que les lots sont troués : certaines cellules sont vides, d'autres affichent une erreur #N/A héritée d'une recherche ratée à la source. Tu veux une liste propre, sans avoir à faire le tri à la main à chaque nouvel export. La fonction DANSCOL empile les trois lots et laisse au passage tout ce qui n'est pas une vraie référence.
- 1Dans une cellule, écris
=DANSCOL(. - 2En 1er argument : sélectionne les trois lots d'un seul bloc,
A2:C5. La ligne d'en-tête reste dehors, et les 4 lignes de références des trois colonnes suffisent à la fonction. - 3En 2ᵉ argument : saisis le code qui écarte ce que tu ne veux pas voir descendre dans ta liste,
3. Un1ne sauterait que les cellules vides et un2que les erreurs, alors que ton import cumule les deux problèmes. Avec3, les 2 cases vides et les 2#N/Arestent à la porte. - 4Ferme la parenthèse et appuie sur Entrée.
=DANSCOL(A2:C5; 3)#N/A) et empile les 8 références restantes. Sans le 3, les trous et les erreurs descendraient tels quels dans ta colonne et il faudrait refaire le ménage à chaque export.Comment lire un tableau colonne par colonne avec la fonction DANSCOL
Ton chiffre d'affaires est suivi dans un tableau à double entrée, les trimestres en lignes et les années en colonnes, et on te demande une courbe d'évolution pour le prochain comité. Un graphique attend une série continue, donc il te faut les huit montants empilés dans l'ordre du temps : les quatre trimestres de 2024, puis ceux de 2025. La fonction DANSCOL sait descendre colonne par colonne au lieu de balayer les lignes, ce qui remet ta série dans le bon ordre.
- 1Dans une cellule, écris
=DANSCOL(. - 2En 1er argument : sélectionne la plage des seuls montants,
B2:C5. La colonneTrimestrereste dehors, sans quoi les libellésT1àT4viendraient se glisser entre tes chiffres. - 3En 2ᵉ argument : saisis le code qui n'écarte rien,
0. Ton tableau est complet, il n'y a donc ni vide ni erreur à filtrer. Ce zéro n'est pourtant pas décoratif, puisque les arguments s'écrivent dans l'ordre et qu'il faut passer par lui pour atteindre le troisième. - 4En 3ᵉ argument : écris la valeur qui bascule la lecture en colonnes,
VRAI. Sans elle, la fonction lirait de gauche à droite et sortirait120 000 €puis138 000 €, en changeant d'année à chaque valeur. - 5Ferme la parenthèse et appuie sur Entrée.
=DANSCOL(B2:C5; 0; VRAI)2024 de haut en bas, puis seulement après la colonne 2025. Ta série sort donc dans l'ordre chronologique, prête pour un graphique ou un calcul de tendance, alors que la lecture par défaut aurait alterné les deux années.Comment dédoublonner un tableau entier avec les fonctions DANSCOL et UNIQUE
Chaque boutique a saisi ses propres familles de produits dans sa colonne, et tu dois maintenant bâtir le référentiel commun qui servira au prochain catalogue. Les mêmes catégories reviennent d'une boutique à l'autre, quelques cases sont restées vides, et tu veux la liste de toutes les familles citées, chacune une seule fois. La fonction UNIQUE ne sait dédoublonner qu'une colonne à la fois, alors tu lui donnes ton tableau déjà aplati par la fonction DANSCOL.
- 1Dans une cellule, écris
=UNIQUE(. - 2En 1er argument : écris l'aplatissement des trois colonnes et referme-le,
DANSCOL(A2:C5; 1). La fonction UNIQUE ne dédoublonne qu'une seule colonne à la fois, et la fonction DANSCOL lui en fabrique une à partir des trois boutiques. Le1écarte au passage les 2 cases vides, qui arriveraient sinon dans le référentiel comme une famille de plus. - 3Ferme la parenthèse de la fonction UNIQUE et appuie sur Entrée. Celle de la fonction DANSCOL a déjà été refermée à l'étape précédente.
=UNIQUE(DANSCOL(A2:C5; 1))
Les erreurs fréquentes avec la fonction DANSCOL
Comme DANSCOL déverse son résultat vers le bas, il lui faut la colonne libre sous la formule : dès qu'une cellule y traîne déjà, tu récoltes un #EPARPILL! et rien ne s'affiche, donc vide la zone ou pose ta formule ailleurs. L'autre souci ne crie aucune erreur : tes valeurs sortent dans le désordre parce que la lecture ligne par ligne ne colle pas à ta structure. C'est [par_colonne] à VRAI qui remet la séquence d'aplomb.
Erreur #EPARPILL! : pas assez d'espace pour le résultat
Le tableau dynamique résultant n'a pas assez de place pour s'afficher. D'autres données se trouvent dans les cellules en dessous de la formule et bloquent l'expansion.
Solution : Libère les cellules en dessous de ta formule pour permettre au tableau dynamique de s'étendre. Tu peux aussi déplacer ta formule dans une zone vide de la feuille.
Ordre inattendu des valeurs dans la colonne résultat
Les valeurs ne sont pas dans l'ordre attendu parce que le mode de lecture par défaut (ligne par ligne) ne correspond pas à la structure de tes données.
Solution : Utilise par_colonne=VRAI pour lire par colonnes au lieu de lignes. Expérimente les deux modes pour voir lequel correspond à l'ordre dont tu as besoin.

Astuces avancées avec DANSCOL
Dédoublonner tout un tableau en une formule
Pour extraire toutes les valeurs uniques d'un tableau 2D sans intermédiaire, combine DANSCOL avec UNIQUE : =UNIQUE(DANSCOL(A1:D10; 1)) aplatit d'abord le tableau en ignorant les vides, puis élimine les doublons.
C'est la façon la plus rapide de créer un référentiel unique depuis une matrice, par exemple pour une liste de catégories ou de codes produits éparpillés sur plusieurs colonnes.
Compter une valeur dans tout un tableau 2D
NB.SI n'accepte qu'une plage 1D par défaut, mais en passant le résultat de DANSCOL, tu contournes cette limite : =NB.SI(DANSCOL(A1:D10); "Oui") compte les occurrences de "Oui" dans tout le tableau, quelle que soit la colonne.
Même logique pour SOMME.SI ou RECHERCHEV quand ta valeur peut être dans n'importe quelle colonne.
Alimenter un graphique depuis une matrice
Les graphiques Excel attendent des données en une seule colonne ou ligne. Quand tes valeurs sont dans une matrice (par exemple, des ventes par produit et par mois), DANSCOL te permet de les empiler en une série continue : =DANSCOL(B2:M12; 1) aplatit 12 mois × 11 produits en une seule série sans valeurs vides.
Combine-le avec SEQUENCE pour générer les étiquettes correspondantes automatiquement.
Questions fréquentes
DANSCOL transforme un tableau en une seule colonne verticale, tandis que DANSLIGNE le transforme en une seule ligne horizontale. Les deux fonctions aplatissent le tableau mais dans des directions différentes.
Utilise le paramètre ignorer avec la valeur 1 pour ignorer les cellules vides : =DANSCOL(A1:C3; 1). Tu peux aussi utiliser 2 pour ignorer les erreurs, ou 3 pour ignorer les deux.
Non, DANSCOL est exclusif à Excel 365 et Excel 2021+. Dans Google Sheets, tu peux utiliser FLATTEN qui offre une fonctionnalité similaire.
Par défaut, DANSCOL lit par lignes (de gauche à droite, puis ligne suivante). Avec le paramètre par_colonne=VRAI, il lit par colonnes (de haut en bas, puis colonne suivante).
Pour aller plus loin
Continue sur ta lancée après la fonction DANSCOL : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.
Tout voir




