From 0442c8f99510d9971cc168d56dae1703c768e25e Mon Sep 17 00:00:00 2001 From: StillHammer Date: Tue, 30 Dec 2025 17:06:54 +0700 Subject: [PATCH] Freelance Dashboard v1.0 Excel KPI Dashboard for freelance activity tracking. Features: - Revenue, time and client tracking - Dynamic KPIs and pivot tables - Interactive charts and slicers - VBA automation macros - Professional design --- .gitignore | 24 +++++ LICENSE | 21 +++++ README.md | 71 +++++++++++++++ src/ThisWorkbook.cls | 20 +++++ src/mod_Charts.bas | 76 ++++++++++++++++ src/mod_Design.bas | 145 ++++++++++++++++++++++++++++++ src/mod_Refresh.bas | 92 +++++++++++++++++++ src/mod_Slicers.bas | 94 +++++++++++++++++++ src/mod_TCD.bas | 99 ++++++++++++++++++++ templates/FreelanceDashboard.xlsm | Bin 0 -> 54107 bytes 10 files changed, 642 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 README.md create mode 100644 src/ThisWorkbook.cls create mode 100644 src/mod_Charts.bas create mode 100644 src/mod_Design.bas create mode 100644 src/mod_Refresh.bas create mode 100644 src/mod_Slicers.bas create mode 100644 src/mod_TCD.bas create mode 100644 templates/FreelanceDashboard.xlsm diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..afbdd0a --- /dev/null +++ b/.gitignore @@ -0,0 +1,24 @@ +# Excel temp files +~$* +*.tmp + +# Excel lock files +*.xlk + +# Windows reserved names +nul +con +prn +aux + +# Windows system files +Thumbs.db +Desktop.ini + +# Backups +*.bak +*_backup_*.xlsm + +# Local config +.mcp.json +.claude/ diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..0008ae1 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2025 Alexis Trouve + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..1cefb5e --- /dev/null +++ b/README.md @@ -0,0 +1,71 @@ +# Freelance Dashboard + +Excel KPI Dashboard for freelance activity tracking - Revenue, time tracking, clients with pivot tables, charts and VBA automation. + +## Features + +- **Structured Data Tables** - Clients, time entries, revenue tracking +- **Dynamic KPIs** - Total revenue, hourly rate, active clients, top client +- **Pivot Tables** - Revenue by client, by month, hours by project +- **Interactive Charts** - Pie chart, bar charts, trends +- **Slicers** - Filter by client and period +- **VBA Automation** - One-click refresh, rebuild dashboard +- **Professional Design** - Clean layout, conditional formatting + +## File Structure + +| Sheet | Content | +|-------|---------| +| Dashboard | Main view with KPIs, charts and slicers | +| Data_Clients | Client list (ID, name, sector, start date) | +| Data_Temps | Time entries (date, client, project, hours) | +| Data_Revenus | Revenue entries (date, client, amount, type) | +| Config | Settings (year, default rate, objectives) | +| TCD_Data | Pivot tables data | + +## KPIs + +- Total Revenue +- Current Month Revenue +- Total Hours +- Average Hourly Rate +- Number of Active Clients +- Top Client (by revenue) +- Hours This Week +- Unique Projects Count + +## VBA Macros + +| Macro | Description | +|-------|-------------| +| `RefreshDashboard` | Recalculates formulas and refreshes pivot tables | +| `QuickRefresh` | Silent refresh (no message) | +| `RebuildAll` | Rebuilds entire dashboard from scratch | +| `CreatePivotTables` | Creates/recreates pivot tables | +| `CreateCharts` | Creates/recreates charts | +| `CreateSlicers` | Creates/recreates slicers | +| `ApplyDesign` | Applies professional formatting | + +## Screenshots + +*Coming soon* + +## Requirements + +- Microsoft Excel 2016+ (or Microsoft 365) +- Macros enabled for VBA features + +## Usage + +1. Open `FreelanceDashboard.xlsm` +2. Enable macros when prompted +3. Add your data in Data_Clients, Data_Temps, Data_Revenus +4. Press `Alt+F8` and run `RefreshDashboard` to update + +## Author + +Alexis Trouve - alexistrouve.pro@gmail.com + +## License + +MIT License - See [LICENSE](LICENSE) file diff --git a/src/ThisWorkbook.cls b/src/ThisWorkbook.cls new file mode 100644 index 0000000..7b1585d --- /dev/null +++ b/src/ThisWorkbook.cls @@ -0,0 +1,20 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "ThisWorkbook" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + +' ============================================================================= +' ThisWorkbook Module +' Description: Auto-refresh on workbook open +' ============================================================================= + +Private Sub Workbook_Open() + ' Automatic refresh when workbook opens + QuickRefresh +End Sub diff --git a/src/mod_Charts.bas b/src/mod_Charts.bas new file mode 100644 index 0000000..4f078a5 --- /dev/null +++ b/src/mod_Charts.bas @@ -0,0 +1,76 @@ +Attribute VB_Name = "mod_Charts" +Option Explicit + +' ============================================================================= +' Module: mod_Charts +' Description: Creates Charts for the Freelance Dashboard +' ============================================================================= + +Sub CreateCharts() + Dim wsDash As Worksheet + Dim wsTCD As Worksheet + Dim cht As ChartObject + + On Error GoTo ErrorHandler + + Set wsDash = ThisWorkbook.Sheets("Dashboard") + Set wsTCD = ThisWorkbook.Sheets("TCD_Data") + + ' Delete existing charts + On Error Resume Next + For Each cht In wsDash.ChartObjects + cht.Delete + Next cht + On Error GoTo ErrorHandler + + ' Chart 1: Pie Chart - Revenue by Client + Set cht = wsDash.ChartObjects.Add( _ + Left:=wsDash.Range("D3").Left, _ + Top:=wsDash.Range("D3").Top, _ + Width:=250, _ + Height:=200) + + With cht.Chart + .SetSourceData Source:=wsTCD.PivotTables("TCD_CA_Client").TableRange1 + .ChartType = xlPie + .HasTitle = True + .ChartTitle.Text = "CA par Client" + .HasLegend = True + .Legend.Position = xlLegendPositionRight + End With + + ' Chart 2: Column Chart - Revenue by Month + Set cht = wsDash.ChartObjects.Add( _ + Left:=wsDash.Range("D12").Left, _ + Top:=wsDash.Range("D12").Top, _ + Width:=250, _ + Height:=200) + + With cht.Chart + .SetSourceData Source:=wsTCD.PivotTables("TCD_CA_Mois").TableRange1 + .ChartType = xlColumnClustered + .HasTitle = True + .ChartTitle.Text = "CA par Mois" + .HasLegend = False + End With + + ' Chart 3: Bar Chart - Hours by Project + Set cht = wsDash.ChartObjects.Add( _ + Left:=wsDash.Range("H3").Left, _ + Top:=wsDash.Range("H3").Top, _ + Width:=250, _ + Height:=200) + + With cht.Chart + .SetSourceData Source:=wsTCD.PivotTables("TCD_Heures_Projet").TableRange1 + .ChartType = xlBarClustered + .HasTitle = True + .ChartTitle.Text = "Heures par Projet" + .HasLegend = False + End With + + Exit Sub + +ErrorHandler: + MsgBox "Error creating charts: " & Err.Description, vbCritical, "Error" +End Sub diff --git a/src/mod_Design.bas b/src/mod_Design.bas new file mode 100644 index 0000000..3ba41df --- /dev/null +++ b/src/mod_Design.bas @@ -0,0 +1,145 @@ +Attribute VB_Name = "mod_Design" +Option Explicit + +' ============================================================================= +' Module: mod_Design +' Description: Applies professional design to the Dashboard +' Color Palette: +' - Primary (Blue): #2C3E50 / RGB(44, 62, 80) +' - Accent (Green): #27AE60 / RGB(39, 174, 96) +' - Neutral (Gray): #ECF0F1 / RGB(236, 240, 241) +' - Alert (Red): #E74C3C / RGB(231, 76, 60) +' ============================================================================= + +Sub ApplyDesign() + Dim wsDash As Worksheet + + On Error GoTo ErrorHandler + + Set wsDash = ThisWorkbook.Sheets("Dashboard") + + ' Colors + Dim bleuFonce As Long, vert As Long, grisClair As Long, rouge As Long + bleuFonce = RGB(44, 62, 80) + vert = RGB(39, 174, 96) + grisClair = RGB(236, 240, 241) + rouge = RGB(231, 76, 60) + + ' Euro symbol + Dim euroSymbol As String + euroSymbol = Chr(128) + + With wsDash + ' Hide gridlines + ActiveWindow.DisplayGridlines = False + + ' Light gray background + .Cells.Interior.Color = grisClair + + ' Dashboard Title (A1:C1) + .Range("A1:C1").Merge + With .Range("A1") + .Font.Name = "Calibri" + .Font.Size = 24 + .Font.Bold = True + .Font.Color = bleuFonce + .HorizontalAlignment = xlLeft + .VerticalAlignment = xlCenter + .RowHeight = 40 + End With + + ' Section header "KPIs Principaux" (A3) + With .Range("A3") + .Font.Name = "Calibri" + .Font.Size = 14 + .Font.Bold = True + .Font.Color = bleuFonce + End With + + ' KPI Labels (A4:A9) + With .Range("A4:A9") + .Font.Name = "Calibri" + .Font.Size = 11 + .Font.Color = bleuFonce + End With + + ' KPI Values (B4:B9) + With .Range("B4:B9") + .Font.Name = "Calibri" + .Font.Size = 16 + .Font.Bold = True + .Font.Color = bleuFonce + .HorizontalAlignment = xlRight + End With + + ' Number formats + .Range("B4").NumberFormat = "# ##0 [$" & euroSymbol & "-40C]" + .Range("B5").NumberFormat = "# ##0 [$" & euroSymbol & "-40C]" + .Range("B6").NumberFormat = "0.0 ""h""" + .Range("B7").NumberFormat = "0.00 [$" & euroSymbol & "-40C]""/h""" + .Range("B8").NumberFormat = "0" + .Range("B9").NumberFormat = "0.0 ""h""" + + ' Top Client (A11:B11) + With .Range("A11") + .Font.Name = "Calibri" + .Font.Size = 11 + .Font.Color = bleuFonce + End With + With .Range("B11") + .Font.Name = "Calibri" + .Font.Size = 14 + .Font.Bold = True + .Font.Color = vert + End With + + ' Statistics Section (A13:B16) + With .Range("A13") + .Font.Name = "Calibri" + .Font.Size = 14 + .Font.Bold = True + .Font.Color = bleuFonce + End With + .Range("A14:A16").Font.Color = bleuFonce + .Range("B14:B16").Font.Bold = True + .Range("B14:B15").NumberFormat = "DD/MM/YYYY" + + ' Column widths + .Columns("A").ColumnWidth = 25 + .Columns("B").ColumnWidth = 18 + .Columns("C").ColumnWidth = 3 + .Columns("D:G").ColumnWidth = 12 + .Columns("H:J").ColumnWidth = 12 + .Columns("K:L").ColumnWidth = 15 + + ' Light borders around KPIs + With .Range("A4:B9").Borders + .LineStyle = xlContinuous + .Weight = xlThin + .Color = RGB(189, 195, 199) + End With + + With .Range("A11:B11").Borders + .LineStyle = xlContinuous + .Weight = xlThin + .Color = RGB(189, 195, 199) + End With + + With .Range("A14:B16").Borders + .LineStyle = xlContinuous + .Weight = xlThin + .Color = RGB(189, 195, 199) + End With + + ' Row heights + .Rows("1").RowHeight = 40 + .Rows("2").RowHeight = 10 + .Rows("3:16").RowHeight = 22 + End With + + MsgBox "Design applied successfully!", vbInformation + Exit Sub + +ErrorHandler: + MsgBox "Error applying design: " & Err.Description, vbCritical, "Error" +End Sub diff --git a/src/mod_Refresh.bas b/src/mod_Refresh.bas new file mode 100644 index 0000000..866de60 --- /dev/null +++ b/src/mod_Refresh.bas @@ -0,0 +1,92 @@ +Attribute VB_Name = "mod_Refresh" +Option Explicit + +' ============================================================================= +' Module: mod_Refresh +' Description: Main refresh and rebuild macros for the Dashboard +' ============================================================================= + +Sub RefreshDashboard() + ' Main refresh macro - recalculates formulas and refreshes pivot tables + Application.ScreenUpdating = False + Application.Calculation = xlCalculationManual + + On Error GoTo ErrorHandler + + ' 1. Recalculate all formulas + Application.CalculateFull + + ' 2. Refresh all Pivot Tables + Dim ws As Worksheet + Dim pt As PivotTable + + For Each ws In ThisWorkbook.Worksheets + For Each pt In ws.PivotTables + pt.RefreshTable + Next pt + Next ws + + ' 3. Refresh external connections (if any) + On Error Resume Next + Dim conn As WorkbookConnection + For Each conn In ThisWorkbook.Connections + conn.Refresh + Next conn + On Error GoTo ErrorHandler + + Application.Calculation = xlCalculationAutomatic + Application.ScreenUpdating = True + + MsgBox "Dashboard refreshed!" & vbCrLf & _ + "- Formulas recalculated" & vbCrLf & _ + "- Pivot tables updated", vbInformation, "Refresh Complete" + Exit Sub + +ErrorHandler: + Application.Calculation = xlCalculationAutomatic + Application.ScreenUpdating = True + MsgBox "Error during refresh: " & Err.Description, vbCritical, "Error" +End Sub + +Sub QuickRefresh() + ' Silent refresh without message box + On Error GoTo ErrorHandler + + Application.ScreenUpdating = False + Application.CalculateFull + + Dim ws As Worksheet + Dim pt As PivotTable + For Each ws In ThisWorkbook.Worksheets + For Each pt In ws.PivotTables + pt.RefreshTable + Next pt + Next ws + + Application.ScreenUpdating = True + Exit Sub + +ErrorHandler: + Application.ScreenUpdating = True +End Sub + +Sub RebuildAll() + ' Rebuilds entire dashboard from scratch + On Error GoTo ErrorHandler + + Application.ScreenUpdating = False + + ' Call other macros + CreatePivotTables + CreateCharts + CreateSlicers + ApplyDesign + + Application.ScreenUpdating = True + MsgBox "Dashboard rebuilt entirely!", vbInformation + Exit Sub + +ErrorHandler: + Application.ScreenUpdating = True + MsgBox "Error during rebuild: " & Err.Description, vbCritical, "Error" +End Sub diff --git a/src/mod_Slicers.bas b/src/mod_Slicers.bas new file mode 100644 index 0000000..6cda74b --- /dev/null +++ b/src/mod_Slicers.bas @@ -0,0 +1,94 @@ +Attribute VB_Name = "mod_Slicers" +Option Explicit + +' ============================================================================= +' Module: mod_Slicers +' Description: Creates Slicers for interactive filtering +' ============================================================================= + +Sub CreateSlicers() + Dim wsDash As Worksheet + Dim wsTCD As Worksheet + Dim sc As SlicerCache + Dim sl As Slicer + Dim pt As PivotTable + + On Error GoTo ErrorHandler + + Set wsDash = ThisWorkbook.Sheets("Dashboard") + Set wsTCD = ThisWorkbook.Sheets("TCD_Data") + + ' Delete existing slicers + On Error Resume Next + Dim existingSC As SlicerCache + For Each existingSC In ThisWorkbook.SlicerCaches + existingSC.Delete + Next existingSC + On Error GoTo ErrorHandler + + ' Slicer 1: ClientID on TCD_CA_Client + Set pt = wsTCD.PivotTables("TCD_CA_Client") + + Set sc = ThisWorkbook.SlicerCaches.Add2( _ + pt, _ + "ClientID", _ + "Slicer_ClientID") + + Set sl = sc.Slicers.Add( _ + wsDash, _ + , _ + "ClientID", _ + "Client", _ + wsDash.Range("K1").Left, _ + wsDash.Range("K1").Top, _ + 150, _ + 180) + + sl.Style = "SlicerStyleLight1" + + ' Connect slicer to other pivot tables + On Error Resume Next + sc.PivotTables.AddPivotTable wsTCD.PivotTables("TCD_CA_Mois") + On Error GoTo ErrorHandler + + ' Slicer 2: Date on TCD_CA_Mois + Set pt = wsTCD.PivotTables("TCD_CA_Mois") + + On Error Resume Next + Set sc = ThisWorkbook.SlicerCaches.Add2( _ + pt, _ + "Date", _ + "Slicer_Date") + + If Not sc Is Nothing Then + Set sl = sc.Slicers.Add( _ + wsDash, _ + , _ + "Date", _ + "Periode", _ + wsDash.Range("K10").Left, _ + wsDash.Range("K10").Top, _ + 150, _ + 150) + + sl.Style = "SlicerStyleLight2" + End If + On Error GoTo ErrorHandler + + MsgBox "Slicers created successfully!", vbInformation + Exit Sub + +ErrorHandler: + MsgBox "Error creating slicers: " & Err.Description, vbCritical, "Error" +End Sub + +Sub ClearSlicerFilters() + ' Clears all slicer filters + Dim sc As SlicerCache + + On Error Resume Next + For Each sc In ThisWorkbook.SlicerCaches + sc.ClearManualFilter + Next sc + On Error GoTo 0 +End Sub diff --git a/src/mod_TCD.bas b/src/mod_TCD.bas new file mode 100644 index 0000000..d14ad5f --- /dev/null +++ b/src/mod_TCD.bas @@ -0,0 +1,99 @@ +Attribute VB_Name = "mod_TCD" +Option Explicit + +' ============================================================================= +' Module: mod_TCD +' Description: Creates Pivot Tables for the Freelance Dashboard +' ============================================================================= + +Sub CreatePivotTables() + Dim ws As Worksheet + Dim pt As PivotTable + Dim pc As PivotCache + + On Error GoTo ErrorHandler + + ' Create TCD sheet if it doesn't exist + On Error Resume Next + Set ws = ThisWorkbook.Sheets("TCD_Data") + On Error GoTo ErrorHandler + + If ws Is Nothing Then + Set ws = ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)) + ws.Name = "TCD_Data" + End If + + ' Clear the sheet + ws.Cells.Clear + + ' TCD 1: Revenue by Client + Set pc = ThisWorkbook.PivotCaches.Create( _ + SourceType:=xlDatabase, _ + SourceData:="tbl_Revenus") + + Set pt = pc.CreatePivotTable( _ + TableDestination:=ws.Range("A1"), _ + TableName:="TCD_CA_Client") + + With pt + .PivotFields("ClientID").Orientation = xlRowField + .PivotFields("ClientID").Position = 1 + With .PivotFields("Montant") + .Orientation = xlDataField + .Function = xlSum + .NumberFormat = "# ##0 $" + .Name = "CA Total" + End With + End With + + ' TCD 2: Revenue by Month + Set pt = pc.CreatePivotTable( _ + TableDestination:=ws.Range("E1"), _ + TableName:="TCD_CA_Mois") + + With pt + .PivotFields("Date").Orientation = xlRowField + .PivotFields("Date").Position = 1 + With .PivotFields("Montant") + .Orientation = xlDataField + .Function = xlSum + .NumberFormat = "# ##0 $" + .Name = "CA Mensuel" + End With + End With + + ' Group dates by month and year + On Error Resume Next + pt.PivotFields("Date").DataRange.Cells(1).Group _ + Start:=True, End:=True, _ + Periods:=Array(False, False, False, False, True, False, True) + On Error GoTo ErrorHandler + + ' TCD 3: Hours by Project + Set pc = ThisWorkbook.PivotCaches.Create( _ + SourceType:=xlDatabase, _ + SourceData:="tbl_Temps") + + Set pt = pc.CreatePivotTable( _ + TableDestination:=ws.Range("I1"), _ + TableName:="TCD_Heures_Projet") + + With pt + .PivotFields("Projet").Orientation = xlRowField + .PivotFields("Projet").Position = 1 + With .PivotFields("Heures") + .Orientation = xlDataField + .Function = xlSum + .NumberFormat = "0.0" + .Name = "Total Heures" + End With + End With + + ws.Activate + + MsgBox "3 Pivot Tables created successfully!", vbInformation, "TCD Created" + Exit Sub + +ErrorHandler: + MsgBox "Error creating Pivot Tables: " & Err.Description, vbCritical, "Error" +End Sub diff --git a/templates/FreelanceDashboard.xlsm b/templates/FreelanceDashboard.xlsm new file mode 100644 index 0000000000000000000000000000000000000000..e34bef85cff861d05c8534ead3a4ac7fd92b8e6d GIT binary patch literal 54107 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

GqJxOy(K;mOdru7|E>a|Gj$Uk< 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 literal 0 HcmV?d00001