Gestion de compte
Bonsoir à tous,
Je débute sur Excel et j'ai une question à vous poser.
j'ai fait un classeur dans le but de gérer mes dépenses.
J'ai fait une page pour chaque mois avec:
colonne a: nom : date. je note la date dans le format date.
colonne b: nom : type. je note le type de dépense via une liste déroulante.
colonne c: nom: description. je note une description de la transaction.
colonne d: nom: sorties. je note le mouvement en euros si c'est une dépense.
colonne e: nom: entrée. je note le mouvement en euros si c'est en rentrée.
J'ai également fait une macro qui me sort un tableau croisé dynamique pour chacun moi, mais ce n'est pas encore ce que je voudrais
J'aimerais avoir pour chaque choix de ma liste déroulante(loyer, taxe, ABO GSM, fraise voiture....) son nom avec la somme totale pour chaque mois.
Parmi les nombreux spécialistes du forum, quelqu'un a-t-il une idée? car moi je suis complètement perdu
Merci d'avance.
Bonsoir,
Sur le Forum, beaucoup de gens sont prêts à t'aider ...
Mais pour pouvoir le faire très concrètement...et le plus efficacement possible, il est souhaitable que tu joignes ton fichier avec ton prochain message ...
Bonjour,
Un début de réponse, à méditer.
Cdlt.
Option Explicit
Option Private Module
Public Sub Creer_TCD()
Dim Wb As Workbook
Dim WsSource As Worksheet, wsPT As Worksheet
Dim rngPT As Range
Dim ptCache As PivotCache
Dim Pt As PivotTable
Application.ScreenUpdating = False
Set Wb = ThisWorkbook
Set WsSource = ActiveSheet
Set rngPT = WsSource.Range("tblDonnées[#All]")
Set wsPT = Worksheets("TCD")
With wsPT
.Cells.Clear
Set ptCache = Wb.PivotCaches.Create(xlDatabase, rngPT, 4)
Set Pt = ptCache.CreatePivotTable(.Cells(1, 1), "TCD1", 4)
Pt.ManualUpdate = True
Pt.AddFields RowFields:="Type", ColumnFields:="Date"
With Pt.PivotFields("Revenus")
.Orientation = xlDataField
.Function = xlSum
.Position = 1
.Caption = "Revenus "
.NumberFormat = "#,##0.00"
End With
With Pt.PivotFields("Dépenses")
.Orientation = xlDataField
.Function = xlSum
.Position = 2
.Caption = "Dépenses "
.NumberFormat = "#,##0.00"
End With
Pt.TableStyle2 = "PivotStyleLight15"
Pt.RowAxisLayout xlTabularRow
Pt.ColumnGrand = True
Pt.ManualUpdate = False
Pt.ManualUpdate = True
Pt.PivotFields("Date").LabelRange.Group _
Periods:=Array(False, False, False, False, True, False, True)
Pt.ManualUpdate = False
End With
wsPT.Activate
[A1].Select
With ActiveWindow
.SplitRow = 4
.FreezePanes = True
End With
Set Pt = Nothing
Set ptCache = Nothing
Set rngPT = Nothing
Set wsPT = Nothing
Set WsSource = Nothing
Set Wb = Nothing
End Sub