REDIM.MATRICE.COL (WRAPCOLS en anglais) prend une liste linéaire de données et la réorganise en une matrice de colonnes verticales de taille fixe. Tu as une longue liste de produits, de jours ou de valeurs, et tu veux les présenter en plusieurs colonnes côte à côte ? Cette fonction le fait en une seule formule.
Concrètement, c'est elle qui transforme automatiquement une liste de 31 jours en un calendrier mensuel, qui organise des ventes mensuelles en trimestres, ou qui découpe une liste d'employés en groupes de 5 pour l'affichage. Elle remplace les copier-coller manuels fastidieux et se met à jour toute seule quand la liste source évolue.
Syntaxe de la fonction REDIM.MATRICE.COL
=REDIM.MATRICE.COL(vecteur; nb_valeurs; [valeur_remplissage])REDIM.MATRICE.COL est une fonction de tableau dynamique : son résultat se déverse automatiquement sur plusieurs colonnes et lignes. Si des cellules dans la zone de déversement contiennent déjà des données, Excel retourne l'erreur #DÉVERS!.
Comprendre chaque paramètre de la fonction REDIM.MATRICE.COL
Tu donnes d'abord ta liste de départ, puis tu dis combien de valeurs tu veux empiler dans chaque colonne : c'est ce deuxième nombre qui décide de la hauteur de tes colonnes, et donc du nombre de colonnes obtenues. Le troisième argument, la valeur de remplissage, est le seul facultatif. Tu l'ignores et Excel bouche les cellules en trop avec #N/A ; tu y glisses "" ou 0 et la dernière colonne reste propre.
vecteur
: le vecteur de données à réorganiserIl peut s'agir d'une plage en ligne (A1:L1), d'une plage en colonne (A1:A12), ou même d'une plage rectangulaire (A1:D10) qui sera automatiquement aplatie avant d'être réorganisée, ligne par ligne de gauche à droite.
Tu peux aussi passer le résultat d'une autre fonction comme FILTRE ou SEQUENCE directement comme vecteur, sans créer de plage intermédiaire.
nb_valeurs
: le nombre de valeurs à placer dans chaque colonneC'est la hauteur de chaque colonne dans la matrice résultante. Par exemple, avec 12 valeurs et nb_valeurs = 4, tu obtiens une matrice de 4 lignes × 3 colonnes.
Si ce nombre ne divise pas exactement le nombre total de valeurs, la dernière colonne sera incomplète. Les cellules manquantes sont remplies avec la valeur_remplissage (par défaut #N/A).
Astuce : Pour calculer à l'avance combien de colonnes seront créées, utilise =ARRONDI.SUP(NBVAL(vecteur)/nb_valeurs;0).
[valeur_remplissage]
: la valeur à utiliser pour remplir les cellules vides si le vecteur ne remplit pas exactement la dernière colonne(facultatif)Par défaut, Excel utilise #N/A.
Tu peux spécifier 0 pour les tableaux numériques, "" pour afficher des cellules visuellement vides, ou n'importe quel texte comme "N/A" ou "-" selon le contexte.
Exemples pratiques pas à pas
RH : découper une liste d'employés en groupes de 5
Tu es responsable RH et tu dois afficher une liste de 15 employés en groupes de 5 pour l'affichage dans un rapport de présentation d'équipe. Copier-coller manuellement trois fois en colonnes, c'est 5 minutes de travail. Avec REDIM.MATRICE.COL, c'est une seule formule.
| A | B | C | |
|---|---|---|---|
| 1 | Groupe 1 | Groupe 2 | Groupe 3 |
| 2 | Alice Durand | François Martin | Lucie Petit |
| 3 | Bob Leroy | Gilles Moreau | Marc Renard |
| 4 | Claire Simon | Hélène Blanc | Nathalie Roy |
| 5 | David Bernard | Ivan Thomas | Olivier Dupont |
| 6 | Emma Laurent | Julie Richard | Pierre Gauthier |
=REDIM.MATRICE.COL(A1:A15;5)La fonction lit les 15 noms ligne par ligne et les dépose dans trois colonnes de 5. Si la liste d'employés s'allonge, tu n'as qu'à étendre la plage source : le résultat se réajuste automatiquement.
Contrôle de gestion : organiser les ventes mensuelles en trimestres
Tu es contrôleur de gestion et tu dois présenter les ventes mensuelles en un tableau trimestriel pour la réunion de direction. Tes 12 mois de données sont dans une plage nommée Ventes_Mensuelles.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | T1 | T2 | T3 | T4 |
| 2 | Jan : 42 000 | Avr : 38 000 | Jul : 44 000 | Oct : 51 000 |
| 3 | Fév : 39 000 | Mai : 41 000 | Aoû : 40 000 | Nov : 48 000 |
| 4 | Mar : 45 000 | Jun : 43 000 | Sep : 46 000 | Déc : 55 000 |
=REDIM.MATRICE.COL(Ventes_Mensuelles;3)Les 3 mois du T1 atterrissent dans la première colonne, les 3 mois du T2 dans la deuxième, et ainsi de suite. La structure trimestrielle se construit en une formule, sans aucune mise en forme manuelle.
Astuce de pro : Combine avec des en-têtes dynamiques (=DATE(ANNEE(AUJOURDHUI());1;1) pour le mois de janvier) pour que les étiquettes T1/T2/T3/T4 s'adaptent automatiquement à l'année en cours.
Logistique : créer un calendrier mensuel
Tu gères la planification des livraisons et tu veux créer un calendrier des jours ouvrés pour afficher les plannings de ton équipe. Avec SEQUENCE et REDIM.MATRICE.COL, le calendrier se génère dynamiquement.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Lun | Mar | Mer | Jeu | Ven |
| 2 | 1 | 6 | 11 | 16 | 21 |
| 3 | 2 | 7 | 12 | 17 | 22 |
| 4 | 3 | 8 | 13 | 18 | 23 |
| 5 | 4 | 9 | 14 | 19 | 24 |
| 6 | 5 | 10 | 15 | 20 | 25 |
=REDIM.MATRICE.COL(SEQUENCE(25);5;"")Ici, SEQUENCE génère les nombres de 1 à 25 et la fonction les organise en 5 colonnes de 5 jours. Le paramètre "" garantit que les cellules vides restent vides (plutôt que d'afficher #N/A).
Data analyst : restructurer un import en colonnes de 10
Tu viens d'importer 50 identifiants de produits depuis un export CSV. Ils sont tous dans la colonne A, mais ton rapport attend une présentation en 5 colonnes de 10. Copier-coller manuellement : 10 opérations. Avec REDIM.MATRICE.COL : une seule formule.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Données originales (A1:A50) | Colonne 1 | Colonne 2 | Colonne 3 | Colonne 4 | Colonne 5 |
| 2 | 50 valeurs en liste | Lignes 1-10 | Lignes 11-20 | Lignes 21-30 | Lignes 31-40 | Lignes 41-50 |
=REDIM.MATRICE.COL(A1:A50;10)La fonction réorganise les 50 valeurs en une matrice de 10 lignes et 5 colonnes. Si le nombre de produits change dans le prochain import, tu n'as qu'à ajuster la plage source.
Service formation : regrouper les participants par sessions
Tu organises des sessions de formation avec 8 participants maximum par groupe. Ta liste compte 20 inscrits. REDIM.MATRICE.COL te répartit automatiquement les participants en groupes.
| A | B | C | |
|---|---|---|---|
| 1 | Session A | Session B | Session C |
| 2 | Participant 1 | Participant 9 | Participant 17 |
| 3 | Participant 2 | Participant 10 | Participant 18 |
| 4 | Participant 3 | Participant 11 | Participant 19 |
| 5 | Participant 4 | Participant 12 | Participant 20 |
| 6 | Participant 5 | Participant 13 | |
| 7 | Participant 6 | Participant 14 | |
| 8 | Participant 7 | Participant 15 | |
| 9 | Participant 8 | Participant 16 |
=REDIM.MATRICE.COL(A1:A20;8;"")La fonction crée trois colonnes : Session A et B avec 8 participants, Session C avec les 4 participants restants et 4 cellules vides (affichées proprement grâce au "").
Combinaison avec FILTRE : réorganiser des données filtrées
Tu dois présenter uniquement les produits actifs (colonne B = "Actif") organisés en colonnes de 3. En imbriquant FILTRE et REDIM.MATRICE.COL, tu combines le filtrage et la restructuration en une seule formule.
| A | B | C | |
|---|---|---|---|
| 1 | Col 1 | Col 2 | Col 3 |
| 2 | Produit A | Produit D | Produit G |
| 3 | Produit B | Produit E | Produit H |
| 4 | Produit C | Produit F |
=REDIM.MATRICE.COL(FILTRE(A:A;B:B="Actif");3;"")Ici, FILTRE extrait d'abord les produits actifs, puis REDIM.MATRICE.COL les organise en colonnes de 3. Quand un produit passe de Actif à Inactif, il disparaît automatiquement du tableau.
Envie de t'entraîner sur de vrais exercices Excel ?
M'entraînerLes erreurs fréquentes avec la fonction REDIM.MATRICE.COL
Deux soucis viennent de l'endroit où tu poses la formule, deux autres de ce que tu lui donnes. Comme le résultat se déverse sur plusieurs lignes et colonnes, une seule cellule déjà occupée dans la zone d'arrivée suffit à déclencher #DÉVERS!. À côté, un nb_valeurs nul ou négatif renvoie #VALEUR!, les cellules en trop affichent #N/A faute de valeur de remplissage, et #NOM? signale que ta version d'Excel ne connaît pas encore la fonction.
Plage de déversement bloquée (#DÉVERS!)
Les cellules où le résultat doit s'afficher contiennent déjà des données. Comme REDIM.MATRICE.COL renvoie un tableau dynamique qui peut occuper plusieurs colonnes et lignes, Excel a besoin que tout cet espace soit vide.
Solution : Supprime le contenu des cellules dans la zone de déversement, ou déplace ta formule vers une zone complètement vide. Place toujours tes formules de tableau dynamique loin de tes autres données.
Erreur #VALEUR! – nb_valeurs invalide
Le paramètre nb_valeurs n'est pas un nombre valide, est négatif ou est nul.
Solution : Assure-toi que nb_valeurs est un nombre entier positif. Si ce nombre vient d'un calcul, utilise ENT() pour l'arrondir : =REDIM.MATRICE.COL(A1:A20;ENT(A22)).
Cellules vides affichant #N/A dans la dernière colonne
Par défaut, les cellules non remplies affichent #N/A quand le nombre de valeurs ne divise pas exactement le nombre de colonnes. Ce comportement est voulu mais peut être inesthétique.
Solution : Spécifie le troisième argument pour définir une valeur de remplissage : 0 pour les tableaux numériques, "" pour afficher des cellules vides, ou n'importe quel texte approprié.
Erreur #NOM? – Fonction non reconnue
REDIM.MATRICE.COL fait partie des nouvelles fonctions de tableau dynamique disponibles uniquement dans Excel 365 et Excel 2021. Les versions antérieures (2019 et avant) ne la supportent pas.
Solution : Vérifie ta version via Fichier > Compte. Si tu as une version antérieure à 2021, cette fonction n'est pas disponible. En anglais, la fonction s'appelle WRAPCOLS.
REDIM.MATRICE.COL vs REDIM.MATRICE.LIGNE vs DEVELOPPER.COL
Choisis selon le sens dans lequel tu veux que tes données s'écoulent. Prends REDIM.MATRICE.COL quand tu remplis colonne par colonne, de haut en bas, comme pour un calendrier où chaque semaine est une colonne. REDIM.MATRICE.LIGNE fait le même travail mais remplit rangée par rangée, de gauche à droite. DEVELOPPER.COL, lui, ne découpe rien : il fait l'inverse en aplatissant un tableau 2D en une seule colonne.
| Critère | REDIM.MATRICE.COL | REDIM.MATRICE.LIGNE | DEVELOPPER.COL |
|---|---|---|---|
| Direction de remplissage | Vertical (de haut en bas par colonne) | Horizontal (de gauche à droite par ligne) | Aplatit en une seule colonne |
| Forme du résultat | Matrice N lignes × K colonnes | Matrice K lignes × N colonnes | Colonne unique |
| Contrôle de la taille | Nombre de valeurs par colonne | Nombre de valeurs par ligne | Pas de contrôle de taille |
| Valeur de remplissage personnalisable | Oui (3e argument) | Oui (3e argument) | Peut ignorer vides/erreurs |
| Cas d'usage typique | Calendrier, groupes en colonnes | Groupes en lignes | Aplatir un tableau 2D |
Astuces avancées avec REDIM.MATRICE.COL
Filtre puis réorganise en une seule formule
Tu veux afficher uniquement les éléments actifs d'une liste, organisés en colonnes ? Imbrique FILTRE dans REDIM.MATRICE.COL : =REDIM.MATRICE.COL(FILTRE(A:A;B:B="Actif");5;""). Le filtrage et la restructuration se font en une passe.
Le résultat s'actualise automatiquement quand un statut change dans la colonne B.
Trie avant de réorganiser avec TRI
Pour obtenir des colonnes dans un ordre précis (alphabétique, chronologique), imbrique TRI : =REDIM.MATRICE.COL(TRI(A1:A30);6;""). Les données sont triées avant d'être découpées en colonnes.
Combine TRI, FILTRE et REDIM.MATRICE.COL pour créer des tableaux entièrement automatisés.
Calcule dynamiquement le nombre de colonnes créées
Avant de savoir si tu as assez de place, calcule le nombre de colonnes que ta formule va générer : =ARRONDI.SUP(NBVAL(A1:A50)/5;0) te donne exactement combien de colonnes seront créées pour 50 valeurs par groupes de 5.
Utilise ce calcul pour dimensionner ton espace de travail et éviter les collisions avec d'autres données.
Questions fréquentes sur la fonction REDIM.MATRICE.COL
Quelle est la différence entre REDIM.MATRICE.COL et REDIM.MATRICE.LIGNE ?
REDIM.MATRICE.COL organise les données en colonnes : les premières valeurs remplissent la colonne 1 de haut en bas, puis la colonne 2, etc. REDIM.MATRICE.LIGNE fait l'inverse : les premières valeurs remplissent la ligne 1 de gauche à droite, puis la ligne 2.
C'est comme choisir entre remplir des tubes verticaux (COL) ou des rangées horizontales (LIGNE). Le résultat final a la même quantité de données, mais orientée différemment.
Que se passe-t-il si le nombre de valeurs ne remplit pas complètement la dernière colonne ?
Excel remplit automatiquement les cellules manquantes avec #N/A par défaut. Pour afficher autre chose, spécifie le troisième argument : 0 pour un zéro, "" pour une cellule visuellement vide, ou tout texte de ton choix.
Par exemple, =REDIM.MATRICE.COL(A1:A10;4;"") avec 10 valeurs crée une matrice de 4 lignes × 3 colonnes, et les deux dernières cellules de la troisième colonne sont vides.
Puis-je utiliser REDIM.MATRICE.COL avec des plages rectangulaires ?
Oui. REDIM.MATRICE.COL aplatit d'abord la plage rectangulaire en un vecteur (ligne par ligne, de gauche à droite), puis réorganise ce vecteur selon le paramètre nb_valeurs.
Par exemple, une plage A1:C4 (12 valeurs au total) avec nb_valeurs = 6 donnera une matrice de 6 lignes × 2 colonnes.
REDIM.MATRICE.COL fonctionne-t-il avec les tableaux structurés ?
Oui. Tu peux passer une colonne d'un tableau structuré directement : =REDIM.MATRICE.COL(MonTableau[Produit];5). C'est particulièrement utile car si le tableau s'agrandit, le résultat de REDIM.MATRICE.COL s'adapte automatiquement sans modifier la formule.
Comment éviter l'erreur #DÉVERS! ?
L'erreur #DÉVERS! survient quand une cellule dans la zone de déversement contient des données. Pour l'éviter, place toujours ta formule REDIM.MATRICE.COL dans une zone vide, loin de tes autres données.
Si tu ne sais pas combien de colonnes seront créées, calcule-le d'abord avec =ARRONDI.SUP(NBVAL(vecteur)/nb_valeurs;0) et réserve cet espace.
Comment créer un calendrier avec cette fonction ?
Génère d'abord la séquence de jours avec SEQUENCE, puis réorganise-la en colonnes de 7 (une par semaine) : =REDIM.MATRICE.COL(SEQUENCE(31);7;""). Les 31 jours du mois se répartissent en colonnes-semaines.
Pour des jours ouvrés uniquement, utilise SEQUENCE(22) (environ 22 jours ouvrés par mois). Ajoute une date de départ avec =DATE(2026;6;1)+A1-1 dans chaque cellule pour afficher les vraies dates.
Pour aller plus loin
Les fonctions similaires : REDIM.MATRICE.LIGNE, DEVELOPPER.COL, SEQUENCE, FILTRE, TRI
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
