Comment convertir un tableau en style matriciel en trois colonnes dans Excel ?
Supposons que vous ayez un tableau en style matriciel qui contient des en-têtes de colonne et des en-têtes de ligne, et maintenant vous souhaitez convertir ce type de tableau en un tableau à trois colonnes, également appelé tableau liste comme le montre la capture d'écran suivante. Avez-vous des bonnes méthodes pour résoudre ce problème dans Excel ?
Convertir un tableau en style matrice en liste avec un Tableau croisé dynamique
Convertir un tableau en style matrice en liste avec du code VBA
Convertir un tableau en style matrice en liste avec Kutools pour Excel
Convertir un tableau en style matrice en liste avec un Tableau croisé dynamique
Dans Excel, il n'y a pas de fonctionnalité directe pour nous permettre de convertir un tableau en style matrice en un tableau à trois colonnes, mais si vous êtes familiarisé avec les Tableaux croisés dynamiques, cela pourrait vous aider. Veuillez suivre les étapes ci-dessous :
1. Activez votre feuille de calcul que vous souhaitez utiliser, puis maintenez Alt + D, et appuyez ensuite sur P au clavier. Dans la fenêtre du Tableau croisé dynamique et de l'Assistant Graphique croisé dynamique qui s'affiche, sélectionnez Plages de consolidation multiples sous la section Où sont les données que vous souhaitez analyser, puis choisissez Tableau croisé dynamique sous la section Quel type de rapport souhaitez-vous créer, voir capture d'écran :
2. Cliquez ensuite sur le bouton Suivant, dans l' étape 2a de l'assistant en 3 étapes, sélectionnez l'option Je vais créer les champs de page, voir capture d'écran :
3. Continuez en cliquant Suivant bouton, dans l' Étape 2b de 3 assistant, cliquez bouton pour sélectionner la plage de données que vous souhaitez convertir, puis cliquez Ajouter bouton pour ajouter la plage de données à la Toutes les plages zone de liste, voir capture d'écran :
4. Cliquez ensuite sur le bouton Suivant, dans l' étape 3 de 3 de l'assistant, sélectionnez un emplacement pour le tableau croisé dynamique selon vos préférences.
5. Ensuite, cliquez sur le bouton Terminer, un tableau croisé dynamique est immédiatement créé, voir capture d'écran :
6. Dans le tableau croisé dynamique, double-cliquez sur la cellule d'intersection du Total général. Dans ce cas, je vais double-cliquer sur la cellule F22, et cela générera un tableau à trois colonnes comme le montre la capture d'écran suivante :
7. Et enfin, vous pouvez convertir le format du tableau en une plage normale en sélectionnant le tableau, puis en choisissant Tableau > Convertir en plage depuis le menu contextuel, voir capture d'écran :
Convertir un tableau en style matrice en liste avec du code VBA
Si vous n'aimez pas la première méthode, le code VBA suivant peut également vous aider.
1. Appuyez sur Alt + F11 pour afficher la fenêtre Microsoft Visual Basic pour Applications.
2. Dans la fenêtre, cliquez sur Insérer > Module pour afficher une nouvelle fenêtre de module, puis copiez et collez le code VBA suivant dans la fenêtre de module.
Sub ConvertTable()
'Update 20150512
Dim Rng As Range
Dim cRng As Range
Dim rRng As Range
Dim xOutRng As Range
xTitleId = "KutoolsforExcel"
Set cRng = Application.InputBox("Select your Column labels", xTitleId, Type:=8)
Set rRng = Application.InputBox("Select Your Row Labels", xTitleId, Type:=8)
Set Rng = Application.InputBox("Select your data", xTitleId, Type:=8)
Set outRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
Set xWs = Rng.Worksheet
k = 1
xColumns = rRng.Column
xRow = cRng.Row
For i = Rng.Rows(1).Row To Rng.Rows(1).Row + Rng.Rows.Count - 1
For j = Rng.Columns(1).Column To Rng.Columns(1).Column + Rng.Columns.Count - 1
outRng.Cells(k, 1) = xWs.Cells(i, xColumns)
outRng.Cells(k, 2) = xWs.Cells(xRow, j)
outRng.Cells(k, 3) = xWs.Cells(i, j)
k = k + 1
Next j
Next i
End Sub
3. Appuyez ensuite sur la touche F5 pour exécuter ce code, et une boîte de dialogue apparaît pour vous permettre de sélectionner les étiquettes de colonne des données, voir capture d'écran :
4. Cliquez ensuite sur le bouton OK, dans la prochaine boîte de dialogue, sélectionnez les étiquettes de ligne, voir capture d'écran :
5. Continuez en cliquant sur OK, puis sélectionnez la plage de données en excluant les en-têtes de colonne et de ligne dans la boîte de dialogue, voir capture d'écran :
6. Cliquez ensuite sur OK, dans cette boîte de dialogue, veuillez sélectionner une cellule où vous souhaitez placer le résultat. Voir capture d'écran :
7. Enfin, cliquez sur OK, et vous obtiendrez immédiatement un tableau à trois colonnes.
Convertir un tableau en style matrice en liste avec Kutools pour Excel
Les deux méthodes ci-dessus sont quelque peu compliquées, ici, je vais vous présenter une méthode simple -- Kutools pour Excel, avec sa fonction Transposer la dimension du tableau, vous pouvez rapidement convertir entre une matrice de cellules et un tableau liste.
Après avoir installé Kutools pour Excel, veuillez suivre les étapes suivantes :
1. Cliquez sur Kutools > Plage > Transposer la dimension du tableau, voir capture d'écran :
2. Dans la boîte de dialogue Transposer la dimension du tableau :
(1.) Choisissez l'option Convertir un tableau bidimensionnel en un tableau unidimensionnel sous Type de conversion.
(2.) Cliquez ensuite sur le bouton sous Plage source pour sélectionner la plage de données que vous souhaitez convertir.
(3.) Cliquez ensuite sur le bouton sous Plage des résultats pour sélectionner une cellule où vous souhaitez placer le résultat.
3. Cliquez ensuite sur le bouton OK, et vous obtiendrez le résultat suivant, y compris la mise en forme des cellules d'origine :
Avec cet utilitaire, vous pouvez également convertir un tableau liste plat en un tableau croisé à deux dimensions.
Pour en savoir plus sur cette fonctionnalité Transposer la dimension du tableau.
Téléchargez et essayez gratuitement Kutools pour Excel Maintenant !
Démo : Convertir un tableau en style matrice en liste avec Kutools pour Excel
Meilleurs outils de productivité Office
Dynamisez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée. Kutools pour Excel propose plus de300 fonctionnalités avancées pour booster votre productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité la plus essentielle pour vous...
Office Tab apporte une interface à onglets à Office, et facilite grandement votre travail
- Activez la modification et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, au lieu d’ouvrir de nouvelles fenêtres.
- Augmentez votre productivité de50% et réduisez des centaines de clics de souris chaque jour!