Les tableaux croisés dynamiques (pivot tables) sont un outil puissant d'analyse de données. Cependant, vous devez parfois annuler le pivotement (unpivot) des données pivotées (autrement appelées « redresser » ou annuler le pivotement des données) pour les mettre dans un format de tableau normal afin que toutes les valeurs similaires soient dans la même colonne. Cela est nécessaire, par exemple, pour créer un graphique ou un rapport nouveau ou modifié.
Vous pouvez effectuer cette conversion dans Excel à l'aide de l'outil Power Query, mais ce n'est ni rapide ni très pratique. Essayons une approche différente pour déployer des données récapitulatives sans Power Query.
Imaginez que nous devions convertir un ensemble de données d'un tableau croisé dynamique en un tableau plat (Unpivot) :
Une telle tâche est mieux résolue à l'aide d'une macro. Écrivons notre propre procédure qui peut convertir un tableau croisé (tableau croisé) avec des données en un format de tableau régulier (plat), ce qui nous permettra à nouveau créer des tableaux récapitulatifs avec des données modifiées ou complétées.
Ouvrez l'éditeur Visual Basic (Service - Macro - Editeur Visual Basic), insérez le nouveau module (Insert - Module) et copiez-y le texte de cette macro :
Sub UnPivotTable() 'moonexcel.com.ua Dim InVal As Variant Dim OutVal() As Variant Dim j, k, i As Long Dim NewSheet i = 1 InVal = Selection.Formula ReDim OutVal(1 To Selection.Count, 1 To 3) For j = 2 To UBound(InVal, 1) For k = 2 To UBound(InVal, 2) If InVal(j, k) <> "" Then OutVal(i, 1) = InVal(j, 1) OutVal(i, 2) = InVal(1, k) OutVal(i, 3) = InVal(j, k) i = i + 1 End If Next k Next j Set NewSheet = Worksheets.Add NewSheet.Range("A1").Resize(UBound(OutVal, 1), 3).Value = OutVal End Sub
Après cela, vous pouvez fermer l'éditeur VBA, revenir à Excel, sélectionner la table source (complètement, avec l'en-tête et la première colonne avec les pays) et exécuter notre macro via le menu Service - Macros - Macros (Tools - Macro - Macros) (ALT+F8) .
La macro insérera une nouvelle feuille dans le classeur et créera une nouvelle version reconstruite du tableau sélectionné. Vous pouvez travailler avec une telle table "avec le programme complet", en utilisant tout l'arsenal d'outils Excel pour traiter et analyser de grandes tables.