stanymi | Bonjour
J'ai une table BUDGET de 15 colonnes qui est de cette forme
Code :
- flux - Mois1 - Mois2 - Mois3 - ... - Mois12 - NOLIG - NOCOL
- O -
- Ra -
- Re -
- S -
|
Et en fait, j'ai besoin de transformer cette table en 7 colonnes, avec une macro je présume, pour que les champs deviennent
Code :
- MOIS - O - Ra - Re - S - NOLIG - NOCOL
- Mois1 -
- Mois2 -
- Mois3 -
- ...
- Mois12 -
|
Oui ça peut paraitre très stupide vu comme ça, mais j'ai pas trop le choix...
Alors je sais faire via Excel, mais pour adapter la macro tirée d'Excel vers Access, vu mon niveau en VB, ça se complique franchement...
Si vous avez des idées.. Merci !
Je me demande si la macro Excel peut aider mais à tout hasard, je la mets :
Code :
- Sub TcD()
- Cells.Select
- ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
- "Feuil1!C1:C15" ).CreatePivotTable TableDestination:="", TableName:= _
- "Tableau croisé dynamique1"
- ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
- ActiveSheet.Cells(3, 1).Select
- ActiveSheet.PivotTables("Tableau croisé dynamique1" ).SmallGrid = False
- ActiveSheet.PivotTables("Tableau croisé dynamique1" ).PivotFields("NOLIG" ). _
- Subtotals = Array(False, False, False, False, False, False, False, False, False, False, _
- False, False)
- ActiveSheet.PivotTables("Tableau croisé dynamique1" ).PivotFields("NOCOL" ). _
- Subtotals = Array(False, False, False, False, False, False, False, False, False, False, _
- False, False)
- ActiveSheet.PivotTables("Tableau croisé dynamique1" ).PivotFields("Code flux" ). _
- Subtotals = Array(False, False, False, False, False, False, False, False, False, False, _
- False, False)
- ActiveSheet.PivotTables("Tableau croisé dynamique1" ).AddFields RowFields:= _
- Array("NOLIG", "NOCOL", "Données" ), ColumnFields:="Code flux"
- With ActiveSheet.PivotTables("Tableau croisé dynamique1" ).PivotFields( _
- "BUDGET01" )
- .Orientation = xlDataField
- .Caption = "01"
- .Position = 1
- .Function = xlSum
- End With
- With ActiveSheet.PivotTables("Tableau croisé dynamique1" ).PivotFields( _
- "BUDGET02" )
- .Orientation = xlDataField
- .Caption = "02"
- .Position = 2
- .Function = xlSum
- End With
- With ActiveSheet.PivotTables("Tableau croisé dynamique1" ).PivotFields( _
- "BUDGET03" )
- .Orientation = xlDataField
- .Caption = "03"
- .Position = 3
- .Function = xlSum
- End With
- ...
- With ActiveSheet.PivotTables("Tableau croisé dynamique1" ).PivotFields( _
- "BUDGET12" )
- .Orientation = xlDataField
- .Caption = "12"
- .Function = xlSum
- End With
- With ActiveSheet.PivotTables("Tableau croisé dynamique1" )
- .ColumnGrand = False
- .RowGrand = False
- End With
- End Sub
|
|