Tu as un tableau à plusieurs colonnes et tu veux tout regrouper en une seule colonne ? DANSCOL (TOCOL en anglais) est exactement ce qu'il te faut. Cette fonction aplatit n'importe quel tableau en une colonne verticale, en conservant toutes les données dans l'ordre de lecture que tu choisis.
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 de la fonction DANSCOL
=DANSCOL(tableau; [ignorer]; [par_colonne])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.
Astuce : Tu peux passer directement le résultat d'une autre fonction dynamique comme tableau : par exemple =DANSCOL(FILTRE(A1:C10; D1:D10="Actif")) aplatit d'abord les lignes filtrées.
[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.
Astuce : Utilise ignorer=1 pour créer une liste compacte sans les cellules vides. Très utile pour nettoyer des données importées ou un planning avec des créneaux non remplis.
[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.
Pas envie d'écrire la formule DANSCOL à la main ?
Génère-la avec notre IAExemples pratiques pas à pas
Gestionnaire RH : consolider une matrice de compétences
Tu es gestionnaire RH et tu as une matrice où chaque colonne représente un domaine de compétence (Bureautique, Données, Visualisation). Tu veux créer une liste unique de toutes les compétences mentionnées pour alimenter un menu déroulant ou un rapport.
DANSCOL lit le tableau source ligne par ligne : Excel, PowerPoint, Word (ligne 1), puis Python, SQL, VBA (ligne 2), etc. Le résultat est une colonne unique avec les 9 compétences, prête à être passée à UNIQUE pour dédoublonner.
| A | |
|---|---|
| 1 | Compétences |
| 2 | Excel |
| 3 | PowerPoint |
| 4 | Word |
| 5 | Python |
| 6 | SQL |
| 7 | VBA |
| 8 | Power BI |
| 9 | Tableau |
| 10 | R |
=DANSCOL(A1:C3)Analyste commercial : extraire les valeurs non vides d'un planning
Tu as un planning de rendez-vous incomplet, réparti sur plusieurs colonnes avec des créneaux vides. Tu veux lister uniquement les créneaux réservés, sans les cellules vides, pour un rapport ou un envoi de confirmations.
Le paramètre 1 indique à DANSCOL d'ignorer les cellules vides. Tu obtiens une liste compacte de tes 3 rendez-vous sur les 6 créneaux du tableau source. Le résultat s'adapte automatiquement si tu ajoutes ou supprimes des rendez-vous.
| A | |
|---|---|
| 1 | Rendez-vous |
| 2 | Client A |
| 3 | Client B |
| 4 | Client C |
=DANSCOL(A1:C2; 1)Contrôleur de gestion : lire par colonnes pour un reporting
Tu as des données trimestrielles organisées en colonnes (T1, T2, T3, T4) sur une seule ligne. Tu veux les lire colonne par colonne pour créer une série chronologique compatible avec un graphique ou un calcul de tendance.
Avec par_colonne=VRAI, DANSCOL lit de gauche à droite (T1, T2, T3, T4), ce qui respecte l'ordre chronologique de tes données. Sans ce paramètre, le résultat serait le même ici car la plage est sur une seule ligne, mais c'est crucial pour des plages multi-lignes.
| A | |
|---|---|
| 1 | Série |
| 2 | 100 |
| 3 | 120 |
| 4 | 150 |
| 5 | 180 |
=DANSCOL(A2:D2; 0; VRAI)Envie de t'entraîner sur de vrais exercices Excel ?
M'entraînerLes 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 sur la fonction DANSCOL
Quelle est la différence entre DANSCOL et DANSLIGNE ?
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.
Comment ignorer les cellules vides avec DANSCOL ?
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.
DANSCOL fonctionne-t-il dans Google Sheets ?
Non, DANSCOL est exclusif à Excel 365 et Excel 2021+. Dans Google Sheets, tu peux utiliser FLATTEN qui offre une fonctionnalité similaire.
Dans quel ordre DANSCOL lit-il les données ?
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).
Peut-on combiner DANSCOL avec d'autres fonctions dynamiques ?
Absolument ! DANSCOL se combine parfaitement avec UNIQUE, TRIER ou FILTRE. Par exemple : =UNIQUE(DANSCOL(A1:C10)) extrait toutes les valeurs uniques d'un tableau en une colonne.
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

