Bonne après-midi,
Existe-t-il un moyen de fractionner les données d'une ligne et de les stocker en plusieurs lignes? J'ai un fichier volumineux contenant des informations de planification et j'essaie de développer une liste comprenant chaque combinaison de cours, jour, terme et période par ligne. Par exemple, j'ai un fichier similaire à ceci:
Crs:Sn Title Tchr TchrName Room Days Terms Periods
7014:01 English I 678 JUNG 300 M,T,W,R,F 3,4 2,3
1034:02 English II 123 MOORE 352 M,T,W,R,F 3 4
7144:02 Algebra 238 VYSOTSKY 352 M,T,W,R,F 3,4 3,4
0180:06 Pub Speaking 23 ROSEN 228 M,T,W,R,F 3,4 5
7200:03 PE I 244 HARILAOU GYM 4 M,T,W,R,F 1,2,3 3
2101:01 Physics/Lab 441 JONES 348 M,T,W,R,F 1,2,3,4 2,3
Should extract to this in an excel file:
Crs:Sn Title Tchr# Tchr Room Days Terms Period
7014:01 English I 678 JUNG 300 M 3 2
7014:01 English I 678 JUNG 300 T 3 2
7014:01 English I 678 JUNG 300 W 3 2
7014:01 English I 678 JUNG 300 R 3 2
7014:01 English I 678 JUNG 300 F 3 2
7014:01 English I 678 JUNG 300 M 4 2
7014:01 English I 678 JUNG 300 T 4 2
7014:01 English I 678 JUNG 300 W 4 2
7014:01 English I 678 JUNG 300 R 4 2
7014:01 English I 678 JUNG 300 F 4 2
7014:01 English I 678 JUNG 300 M 3 3
7014:01 English I 678 JUNG 300 T 3 3
7014:01 English I 678 JUNG 300 W 3 3
7014:01 English I 678 JUNG 300 R 3 3
7014:01 English I 678 JUNG 300 F 3 3
7014:01 English I 678 JUNG 300 M 4 3
7014:01 English I 678 JUNG 300 T 4 3
7014:01 English I 678 JUNG 300 W 4 3
7014:01 English I 678 JUNG 300 R 4 3
7014:01 English I 678 JUNG 300 F 4 3
1034:02 English II 123 MOORE 352 M 3 4
1034:02 English II 123 MOORE 352 T 3 4
1034:02 English II 123 MOORE 352 W 3 4
1034:02 English II 123 MOORE 352 R 3 4
1034:02 English II 123 MOORE 352 F 3 4
7144:02 Algebra 238 VYSOTSKY 352 M 3 3
7144:02 Algebra 238 VYSOTSKY 352 T 3 3
7144:02 Algebra 238 VYSOTSKY 352 W 3 3
7144:02 Algebra 238 VYSOTSKY 352 R 3 3
7144:02 Algebra 238 VYSOTSKY 352 F 3 3
7144:02 Algebra 238 VYSOTSKY 352 M 4 3
7144:02 Algebra 238 VYSOTSKY 352 T 4 3
7144:02 Algebra 238 VYSOTSKY 352 W 4 3
7144:02 Algebra 238 VYSOTSKY 352 R 4 3
7144:02 Algebra 238 VYSOTSKY 352 F 4 3
7144:02 Algebra 238 VYSOTSKY 352 M 3 4
7144:02 Algebra 238 VYSOTSKY 352 T 3 4
7144:02 Algebra 238 VYSOTSKY 352 W 3 4
7144:02 Algebra 238 VYSOTSKY 352 R 3 4
7144:02 Algebra 238 VYSOTSKY 352 F 3 4
7144:02 Algebra 238 VYSOTSKY 352 M 4 4
7144:02 Algebra 238 VYSOTSKY 352 T 4 4
7144:02 Algebra 238 VYSOTSKY 352 W 4 4
7144:02 Algebra 238 VYSOTSKY 352 R 4 4
7144:02 Algebra 238 VYSOTSKY 352 F 4 4
0180:06 Pub Speaking 23 ROSEN 228 M 3 5
0180:06 Pub Speaking 23 ROSEN 228 T 3 5
0180:06 Pub Speaking 23 ROSEN 228 W 3 5
0180:06 Pub Speaking 23 ROSEN 228 R 3 5
0180:06 Pub Speaking 23 ROSEN 228 F 3 5
0180:06 Pub Speaking 23 ROSEN 228 M 4 5
0180:06 Pub Speaking 23 ROSEN 228 T 4 5
0180:06 Pub Speaking 23 ROSEN 228 W 4 5
0180:06 Pub Speaking 23 ROSEN 228 R 4 5
0180:06 Pub Speaking 23 ROSEN 228 F 4 5
7200:03 PE I 244 HARILAOU GYM 4 M 1 3
7200:03 PE I 244 HARILAOU GYM 4 M 2 3
7200:03 PE I 244 HARILAOU GYM 4 M 3 3
7200:03 PE I 244 HARILAOU GYM 4 T 1 3
7200:03 PE I 244 HARILAOU GYM 4 T 2 3
7200:03 PE I 244 HARILAOU GYM 4 T 3 3
7200:03 PE I 244 HARILAOU GYM 4 W 1 3
7200:03 PE I 244 HARILAOU GYM 4 W 2 3
7200:03 PE I 244 HARILAOU GYM 4 W 3 3
7200:03 PE I 244 HARILAOU GYM 4 R 1 3
7200:03 PE I 244 HARILAOU GYM 4 R 2 3
7200:03 PE I 244 HARILAOU GYM 4 R 3 3
7200:03 PE I 244 HARILAOU GYM 4 F 1 3
7200:03 PE I 244 HARILAOU GYM 4 F 2 3
7200:03 PE I 244 HARILAOU GYM 4 F 3 3
2101:01 Physics/Lab 441 JONES 348 M 1 2
2101:01 Physics/Lab 441 JONES 348 M 2 2
2101:01 Physics/Lab 441 JONES 348 M 3 2
2101:01 Physics/Lab 441 JONES 348 M 4 2
2101:01 Physics/Lab 441 JONES 348 T 1 2
2101:01 Physics/Lab 441 JONES 348 T 2 2
2101:01 Physics/Lab 441 JONES 348 T 3 2
2101:01 Physics/Lab 441 JONES 348 T 4 2
2101:01 Physics/Lab 441 JONES 348 W 1 2
2101:01 Physics/Lab 441 JONES 348 W 2 2
2101:01 Physics/Lab 441 JONES 348 W 3 2
2101:01 Physics/Lab 441 JONES 348 W 4 2
2101:01 Physics/Lab 441 JONES 348 R 1 2
2101:01 Physics/Lab 441 JONES 348 R 2 2
2101:01 Physics/Lab 441 JONES 348 R 3 2
2101:01 Physics/Lab 441 JONES 348 R 4 2
2101:01 Physics/Lab 441 JONES 348 F 1 2
2101:01 Physics/Lab 441 JONES 348 F 2 2
2101:01 Physics/Lab 441 JONES 348 F 3 2
2101:01 Physics/Lab 441 JONES 348 F 4 2
2101:01 Physics/Lab 441 JONES 348 M 1 3
2101:01 Physics/Lab 441 JONES 348 M 2 3
2101:01 Physics/Lab 441 JONES 348 M 3 3
2101:01 Physics/Lab 441 JONES 348 M 4 3
2101:01 Physics/Lab 441 JONES 348 T 1 3
2101:01 Physics/Lab 441 JONES 348 T 2 3
2101:01 Physics/Lab 441 JONES 348 T 3 3
2101:01 Physics/Lab 441 JONES 348 T 4 3
2101:01 Physics/Lab 441 JONES 348 W 1 3
2101:01 Physics/Lab 441 JONES 348 W 2 3
2101:01 Physics/Lab 441 JONES 348 W 3 3
2101:01 Physics/Lab 441 JONES 348 W 4 3
2101:01 Physics/Lab 441 JONES 348 R 1 3
2101:01 Physics/Lab 441 JONES 348 R 2 3
2101:01 Physics/Lab 441 JONES 348 R 3 3
2101:01 Physics/Lab 441 JONES 348 R 4 3
2101:01 Physics/Lab 441 JONES 348 F 1 3
2101:01 Physics/Lab 441 JONES 348 F 2 3
2101:01 Physics/Lab 441 JONES 348 F 3 3
2101:01 Physics/Lab 441 JONES 348 F 4 3
J'essaie d'éviter de séparer les données ligne par ligne. Je ne connais pas bien la fonctionnalité VBA d'Excel, mais j'aimerais commencer à l'utiliser.
Toute aide serait grandement appréciée.
Réponses:
J'utiliserais le complément Power Query - il comporte des commandes Split et Unpivot que vous pouvez superposer les unes après les autres pour transformer votre tableau.
C'est un peu difficile à lire à partir de votre exemple, mais je pense que je vois que vous avez plusieurs "cellules" dans la colonne Jours, séparées par des virgules? J'utiliserais donc une commande Split pour scinder cela en plusieurs colonnes, puis une commande Unpivot pour transformer ces colonnes en plusieurs lignes.
Je le répèterais alors pour les termes et les périodes (si je lis correctement vos exigences).
Voici où vous pouvez obtenir Power Query:
http://www.microsoft.com/en-au/download/details.aspx?id=39379
la source