From c37f1244b2abb33b3cc55e21f6c37ec47cc6665e Mon Sep 17 00:00:00 2001 From: StillHammer Date: Wed, 21 Jan 2026 17:56:24 +0700 Subject: [PATCH] Freelance Dashboard v1.0 - Excel KPI Dashboard for freelance tracking --- .gitignore | 24 +++ DATA_MODEL.md | 203 +++++++++++++++++ FORMULAS.md | 348 ++++++++++++++++++++++++++++++ LICENSE | 21 ++ PLAN.md | 230 ++++++++++++++++++++ README.md | 71 ++++++ templates/FreelanceDashboard.xlsm | Bin 0 -> 90979 bytes 7 files changed, 897 insertions(+) create mode 100644 .gitignore create mode 100644 DATA_MODEL.md create mode 100644 FORMULAS.md create mode 100644 LICENSE create mode 100644 PLAN.md create mode 100644 README.md 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/DATA_MODEL.md b/DATA_MODEL.md new file mode 100644 index 0000000..58b0744 --- /dev/null +++ b/DATA_MODEL.md @@ -0,0 +1,203 @@ +# Freelance Dashboard - Modele de Donnees + +## Vue d'ensemble + +``` +┌─────────────────┐ +│ Data_Clients │ +├─────────────────┤ +│ ClientID (PK) │◄──────┐ +│ Nom │ │ +│ Secteur │ │ +│ DateDebut │ │ +└─────────────────┘ │ + │ +┌─────────────────┐ │ ┌─────────────────┐ +│ Data_Temps │ │ │ Data_Revenus │ +├─────────────────┤ │ ├─────────────────┤ +│ Date │ │ │ Date │ +│ ClientID (FK) │───────┼───────│ ClientID (FK) │ +│ Projet │ │ │ Montant │ +│ Heures │ │ │ Type │ +│ Description │ │ └─────────────────┘ +└─────────────────┘ │ + │ + Relations +``` + +--- + +## Table: Data_Clients + +Liste des clients avec informations de base. + +| Colonne | Type | Format | Exemple | Validation | +|---------|------|--------|---------|------------| +| ClientID | Texte | CLI### | CLI001 | Unique, requis | +| Nom | Texte | - | Acme Corp | Requis | +| Secteur | Texte | - | Tech | Liste deroulante | +| DateDebut | Date | jj/mm/aaaa | 15/01/2024 | Date valide | + +### Secteurs suggeres + +- Tech +- Marketing +- Finance +- E-commerce +- Industrie +- Services +- Autre + +### Donnees de demo + +| ClientID | Nom | Secteur | DateDebut | +|----------|-----|---------|-----------| +| CLI001 | Acme Corporation | Tech | 15/01/2024 | +| CLI002 | Tech Solutions | Tech | 01/03/2024 | +| CLI003 | Marketing Pro | Marketing | 10/06/2024 | +| CLI004 | E-Shop Plus | E-commerce | 22/09/2024 | +| CLI005 | Finance Group | Finance | 05/11/2024 | + +--- + +## Table: Data_Temps + +Entrees de temps par projet et client. + +| Colonne | Type | Format | Exemple | Validation | +|---------|------|--------|---------|------------| +| Date | Date | jj/mm/aaaa | 15/12/2024 | Date valide | +| ClientID | Texte | CLI### | CLI001 | Liste clients | +| Projet | Texte | - | Site Web | Requis | +| Heures | Nombre | 0.00 | 3.50 | > 0, <= 24 | +| Description | Texte | - | Maquettes | Optionnel | + +### Donnees de demo + +| Date | ClientID | Projet | Heures | Description | +|------|----------|--------|--------|-------------| +| 02/01/2025 | CLI001 | Site Web | 3.5 | Maquettes | +| 02/01/2025 | CLI002 | API Backend | 6.0 | Endpoints | +| 03/01/2025 | CLI001 | Site Web | 4.0 | Integration | +| 03/01/2025 | CLI003 | Campagne SEO | 2.5 | Audit | +| 06/01/2025 | CLI002 | API Backend | 7.0 | Tests | +| 06/01/2025 | CLI004 | Boutique | 5.0 | Setup | +| 07/01/2025 | CLI001 | Maintenance | 1.5 | Updates | +| 08/01/2025 | CLI003 | Campagne SEO | 3.0 | Keywords | +| 08/01/2025 | CLI005 | Dashboard | 4.5 | Design | +| 09/01/2025 | CLI002 | App Mobile | 6.5 | Screens | + +--- + +## Table: Data_Revenus + +Paiements recus des clients. + +| Colonne | Type | Format | Exemple | Validation | +|---------|------|--------|---------|------------| +| Date | Date | jj/mm/aaaa | 31/12/2024 | Date valide | +| ClientID | Texte | CLI### | CLI001 | Liste clients | +| Montant | Nombre | # ##0.00 € | 2500.00 | > 0 | +| Type | Texte | - | Facture | Liste deroulante | + +### Types de paiement + +- Facture +- Acompte +- Avoir +- Autre + +### Donnees de demo + +| Date | ClientID | Montant | Type | +|------|----------|---------|------| +| 15/01/2025 | CLI001 | 2500.00 | Facture | +| 20/01/2025 | CLI002 | 4200.00 | Facture | +| 25/01/2025 | CLI003 | 1800.00 | Facture | +| 28/01/2025 | CLI001 | 1000.00 | Acompte | +| 31/01/2025 | CLI004 | 3500.00 | Facture | +| 05/02/2025 | CLI002 | 2800.00 | Facture | +| 10/02/2025 | CLI005 | 1500.00 | Acompte | + +--- + +## Table: Config + +Parametres de configuration du dashboard. + +| Parametre | Valeur | Description | +|-----------|--------|-------------| +| AnneeCourante | 2025 | Annee par defaut pour filtres | +| TauxHoraireDefaut | 75 | Taux horaire par defaut (euros) | +| DevisePrincipale | EUR | Devise affichee | +| JourDebutSemaine | 2 | 1=Dim, 2=Lun | +| ObjectifMensuel | 10000 | Objectif CA mensuel | +| ObjectifHeures | 140 | Objectif heures/mois | + +--- + +## Plages Nommees + +| Nom | Plage | Description | +|-----|-------|-------------| +| tbl_Clients | Data_Clients[#All] | Table clients | +| tbl_Temps | Data_Temps[#All] | Table temps | +| tbl_Revenus | Data_Revenus[#All] | Table revenus | +| lst_ClientIDs | Data_Clients[ClientID] | Liste ClientID | +| lst_Secteurs | Config!$E$2:$E$8 | Liste secteurs | +| lst_Types | Config!$G$2:$G$5 | Liste types paiement | + +--- + +## Formules de Validation + +### ClientID (Data_Temps, Data_Revenus) + +``` +=COUNTIF(Data_Clients[ClientID], [@ClientID]) > 0 +``` + +### Heures (Data_Temps) + +``` +=AND([@Heures] > 0, [@Heures] <= 24) +``` + +### Montant (Data_Revenus) + +``` +=[@Montant] > 0 +``` + +--- + +## Colonnes Calculees (optionnel) + +### Data_Temps - Mois + +``` +=TEXT([@Date], "mmmm yyyy") +``` + +### Data_Temps - Semaine + +``` +=WEEKNUM([@Date], 2) +``` + +### Data_Temps - NomClient + +``` +=VLOOKUP([@ClientID], Data_Clients, 2, FALSE) +``` + +### Data_Revenus - NomClient + +``` +=VLOOKUP([@ClientID], Data_Clients, 2, FALSE) +``` + +--- + +**Version:** 1.0 +**Date:** 2025-12-30 diff --git a/FORMULAS.md b/FORMULAS.md new file mode 100644 index 0000000..105a6e3 --- /dev/null +++ b/FORMULAS.md @@ -0,0 +1,348 @@ +# Freelance Dashboard - Formules et KPIs + +## Vue d'ensemble + +Toutes les formules utilisees dans le dashboard pour calculer les KPIs. + +--- + +## 1. KPIs Principaux + +### CA Total (periode selectionnee) + +```excel +=SUMIFS( + Data_Revenus[Montant], + Data_Revenus[Date], ">=" & DateDebut, + Data_Revenus[Date], "<=" & DateFin +) +``` + +**Avec slicer client:** +```excel +=SUMIFS( + Data_Revenus[Montant], + Data_Revenus[Date], ">=" & DateDebut, + Data_Revenus[Date], "<=" & DateFin, + Data_Revenus[ClientID], ClientFiltre +) +``` + +--- + +### CA Mois en Cours + +```excel +=SUMIFS( + Data_Revenus[Montant], + Data_Revenus[Date], ">=" & EOMONTH(TODAY(), -1) + 1, + Data_Revenus[Date], "<=" & EOMONTH(TODAY(), 0) +) +``` + +**Version simplifiee:** +```excel +=SUMPRODUCT( + (MONTH(Data_Revenus[Date]) = MONTH(TODAY())) * + (YEAR(Data_Revenus[Date]) = YEAR(TODAY())) * + Data_Revenus[Montant] +) +``` + +--- + +### Heures Totales (periode) + +```excel +=SUMIFS( + Data_Temps[Heures], + Data_Temps[Date], ">=" & DateDebut, + Data_Temps[Date], "<=" & DateFin +) +``` + +--- + +### Taux Horaire Moyen + +```excel +=IFERROR( + SUMIFS(Data_Revenus[Montant], ...) / SUMIFS(Data_Temps[Heures], ...), + 0 +) +``` + +**Format:** `# ##0.00 "€/h"` + +--- + +### Nombre Clients Actifs + +```excel +=SUMPRODUCT( + (COUNTIFS( + Data_Temps[ClientID], Data_Clients[ClientID], + Data_Temps[Date], ">=" & DateDebut, + Data_Temps[Date], "<=" & DateFin + ) > 0) * 1 +) +``` + +**Alternative avec UNIQUE (Excel 365):** +```excel +=COUNTA(UNIQUE( + FILTER( + Data_Temps[ClientID], + (Data_Temps[Date] >= DateDebut) * (Data_Temps[Date] <= DateFin) + ) +)) +``` + +--- + +### Top Client (par CA) + +```excel +=INDEX( + Data_Clients[Nom], + MATCH( + MAX( + SUMIFS( + Data_Revenus[Montant], + Data_Revenus[ClientID], Data_Clients[ClientID] + ) + ), + SUMIFS( + Data_Revenus[Montant], + Data_Revenus[ClientID], Data_Clients[ClientID] + ), + 0 + ) +) +``` + +**Avec XLOOKUP (Excel 365):** +```excel +=LET( + clients, Data_Clients[ClientID], + noms, Data_Clients[Nom], + ca, SUMIFS(Data_Revenus[Montant], Data_Revenus[ClientID], clients), + maxCA, MAX(ca), + topClient, XLOOKUP(maxCA, ca, noms, "N/A"), + topClient +) +``` + +--- + +### Heures Cette Semaine + +```excel +=SUMIFS( + Data_Temps[Heures], + Data_Temps[Date], ">=" & TODAY() - WEEKDAY(TODAY(), 2) + 1, + Data_Temps[Date], "<=" & TODAY() - WEEKDAY(TODAY(), 2) + 7 +) +``` + +--- + +## 2. Formules pour Graphiques + +### CA par Mois (12 derniers mois) + +**Tableau helper:** + +| Mois | CA | +|------|-----| +| =EOMONTH(TODAY(),-11) | =SUMPRODUCT((MONTH(Data_Revenus[Date])=MONTH(A2))*(YEAR(Data_Revenus[Date])=YEAR(A2))*Data_Revenus[Montant]) | +| ... | ... | + +**Avec SEQUENCE (Excel 365):** +```excel +=LET( + mois, SEQUENCE(12, 1, EOMONTH(TODAY(), -11) + 1, 30), + ca, SUMPRODUCT( + (MONTH(Data_Revenus[Date]) = MONTH(mois)) * + (YEAR(Data_Revenus[Date]) = YEAR(mois)) * + Data_Revenus[Montant] + ), + HSTACK(TEXT(mois, "mmm yy"), ca) +) +``` + +--- + +### Repartition CA par Client + +```excel +=SUMIFS( + Data_Revenus[Montant], + Data_Revenus[ClientID], Data_Clients[@ClientID] +) +``` + +**Pourcentage:** +```excel +=[@CA] / SUM([CA]) +``` + +--- + +### Heures par Semaine (8 dernieres semaines) + +```excel +=SUMIFS( + Data_Temps[Heures], + Data_Temps[Date], ">=" & DebutSemaine, + Data_Temps[Date], "<=" & FinSemaine +) +``` + +--- + +## 3. Formules de Mise en Forme Conditionnelle + +### KPI CA - Vert si objectif atteint + +**Condition:** `=B2 >= Config!$C$5` + +- Vert (#27AE60) si >= objectif +- Orange (#F39C12) si >= 80% objectif +- Rouge (#E74C3C) si < 80% + +--- + +### Heures - Barre de progression + +**Formule:** `=[@Heures] / 8` (sur une journee de 8h) + +--- + +### Evolution - Fleche haut/bas + +```excel +=IF([@CA] > [@CA_Precedent], "↑", IF([@CA] < [@CA_Precedent], "↓", "→")) +``` + +--- + +## 4. Formules Utilitaires + +### Premier jour du mois + +```excel +=EOMONTH(TODAY(), -1) + 1 +``` + +### Dernier jour du mois + +```excel +=EOMONTH(TODAY(), 0) +``` + +### Premier jour de la semaine (lundi) + +```excel +=TODAY() - WEEKDAY(TODAY(), 2) + 1 +``` + +### Numero de semaine + +```excel +=WEEKNUM([@Date], 2) +``` + +### Nom du mois en francais + +```excel +=TEXT([@Date], "mmmm") +``` + +--- + +## 5. Tableau Croise Dynamique - Champs Calcules + +### Taux Horaire + +``` += Montant / Heures +``` + +### CA Journalier Moyen + +``` += Montant / COUNTA(Date) +``` + +### Heures par Jour Ouvre + +``` += Heures / NETWORKDAYS(MIN(Date), MAX(Date)) +``` + +--- + +## 6. Validation des Donnees + +### Liste deroulante ClientID + +``` +Source: =INDIRECT("Data_Clients[ClientID]") +``` + +### Liste deroulante Type + +``` +Source: Facture,Acompte,Avoir,Autre +``` + +### Heures (entre 0.25 et 24) + +``` +Validation: Decimal +Minimum: 0.25 +Maximum: 24 +Message: "Entrez un nombre d'heures entre 0.25 et 24" +``` + +--- + +## 7. Exemples de Cellules Dashboard + +### Cellule KPI - CA Total + +``` +Cellule: D4 +Formule: =SUMIFS(Data_Revenus[Montant], Data_Revenus[Date], ">="&$B$2, Data_Revenus[Date], "<="&$B$3) +Format: # ##0 "€" +Police: Calibri 28pt Bold +Couleur: #2C3E50 +``` + +### Cellule KPI - Variation + +``` +Cellule: D5 +Formule: =D4 - CA_Mois_Precedent +Format: +# ##0 "€";-# ##0 "€" +Couleur: Vert si positif, Rouge si negatif +``` + +--- + +## 8. Raccourcis Formules + +| Besoin | Formule courte | +|--------|----------------| +| CA total | `=SUM(Data_Revenus[Montant])` | +| Heures total | `=SUM(Data_Temps[Heures])` | +| Nb clients | `=COUNTA(Data_Clients[ClientID])` | +| Nb projets uniques | `=COUNTA(UNIQUE(Data_Temps[Projet]))` | +| Date min | `=MIN(Data_Temps[Date])` | +| Date max | `=MAX(Data_Temps[Date])` | + +--- + +**Version:** 1.0 +**Date:** 2025-12-30 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/PLAN.md b/PLAN.md new file mode 100644 index 0000000..c6c36b5 --- /dev/null +++ b/PLAN.md @@ -0,0 +1,230 @@ +# Freelance Dashboard - Plan de Projet + +Dashboard KPI Excel - Suivi d'activite freelance + +--- + +## 1. Vision + +**Objectif:** Dashboard visuel pour suivre son activite freelance (temps, revenus, clients) en un coup d'oeil. + +**Public cible:** Freelances, independants, usage personnel. + +**Lien portfolio:** Complementaire a TimeTrack Pro (Access = saisie, Excel = visualisation). + +--- + +## 2. Perimetre V1 + +### Inclus + +| Fonctionnalite | Description | +|----------------|-------------| +| Saisie donnees | Heures, revenus, clients | +| KPIs principaux | CA, heures, taux horaire moyen | +| Graphiques | Dynamiques et interactifs | +| Filtres | Periode, client, projet | +| Design pro | Moderne, pret a montrer | + +### Hors Perimetre (V2 eventuelle) + +- Connexion automatique a Access/TimeTrack +- Previsionnel / objectifs +- Multi-devises +- Macros VBA complexes + +--- + +## 3. Structure du Fichier + +| Onglet | Contenu | Type | +|--------|---------|------| +| **Dashboard** | Vue principale avec KPIs et graphiques | Affichage | +| **Data_Temps** | Table des entrees de temps (source) | Donnees | +| **Data_Revenus** | Table des paiements recus | Donnees | +| **Data_Clients** | Liste clients avec infos | Donnees | +| **Config** | Parametres (annee, taux par defaut) | Parametres | + +--- + +## 4. Modele de Donnees + +### Data_Clients + +| Champ | Type | Description | +|-------|------|-------------| +| ClientID | Texte | Identifiant unique (ex: CLI001) | +| Nom | Texte | Nom du client | +| Secteur | Texte | Secteur d'activite | +| DateDebut | Date | Date debut collaboration | + +### Data_Temps + +| Champ | Type | Description | +|-------|------|-------------| +| Date | Date | Date de l'entree | +| ClientID | Texte | Reference client | +| Projet | Texte | Nom du projet | +| Heures | Nombre | Duree en heures | +| Description | Texte | Description du travail | + +### Data_Revenus + +| Champ | Type | Description | +|-------|------|-------------| +| Date | Date | Date du paiement | +| ClientID | Texte | Reference client | +| Montant | Nombre | Montant en euros | +| Type | Texte | Facture / Acompte | + +--- + +## 5. KPIs a Afficher + +| KPI | Calcul | Formule Excel | +|-----|--------|---------------| +| **CA Total** | Somme revenus (periode) | `=SUMIFS(...)` | +| **CA Mois en cours** | Somme revenus (mois) | `=SUMIFS(...,MONTH()=...)` | +| **Heures totales** | Somme heures (periode) | `=SUMIFS(...)` | +| **Taux horaire moyen** | CA / Heures | `=CA/Heures` | +| **Nb clients actifs** | Clients avec heures > 0 | `=COUNTIFS(...)` | +| **Top client** | Client avec le plus de CA | `=INDEX(MATCH(MAX(...)))` | +| **Heures semaine** | Somme heures (semaine) | `=SUMIFS(...,WEEKNUM()=...)` | + +--- + +## 6. Graphiques + +| Graphique | Type | Donnees | Position | +|-----------|------|---------|----------| +| **Evolution CA mensuel** | Barres ou ligne | CA par mois | Haut gauche | +| **Repartition par client** | Camembert | % CA par client | Haut droite | +| **Heures par semaine** | Barres | Heures hebdo | Bas gauche | +| **CA vs Heures** | Combo | Correlation | Bas droite | + +--- + +## 7. Fonctionnalites Excel + +| Feature | Usage | Implementation | +|---------|-------|----------------| +| **Tableaux structures** | Donnees auto-expansion | `Ctrl+T` sur plages | +| **SOMME.SI.ENS** | Calculs conditionnels | Formules KPIs | +| **Tableaux croises** | Agregations flexibles | TCD sur Data_Temps | +| **Slicers** | Filtres visuels | Connectes aux TCD | +| **Mise en forme cond.** | Alertes visuelles | Regles sur KPIs | +| **Validation donnees** | Listes deroulantes | ClientID, Type | +| **Graphiques dynamiques** | Lies aux TCD | Charts connectes | + +--- + +## 8. UI / Design + +### Palette Couleurs + +| Usage | Couleur | Hex | +|-------|---------|-----| +| Primaire | Bleu fonce | #2C3E50 | +| Accent | Vert | #27AE60 | +| Neutre | Gris clair | #ECF0F1 | +| Alerte | Rouge | #E74C3C | + +### Principes Design + +1. **Fond clair**, donnees lisibles +2. **KPIs en gros**, bien espaces +3. **Graphiques alignes**, pas surcharges +4. **Pas de bordures inutiles**, style moderne flat +5. **Hierarchie visuelle** claire + +### Layout Dashboard + +``` +┌─────────────────────────────────────────────────────────┐ +│ FREELANCE DASHBOARD [Filtres/Slicers]│ +├─────────────────────────────────────────────────────────┤ +│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ +│ │ CA Total│ │CA Mois │ │ Heures │ │Taux Moy │ │ +│ │ 45 230€ │ │ 8 500€ │ │ 312h │ │ 72€/h │ │ +│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │ +├─────────────────────────────────────────────────────────┤ +│ ┌─────────────────────┐ ┌─────────────────────┐ │ +│ │ │ │ │ │ +│ │ Evolution CA │ │ Repartition │ │ +│ │ (barres) │ │ (camembert) │ │ +│ │ │ │ │ │ +│ └─────────────────────┘ └─────────────────────┘ │ +│ ┌─────────────────────┐ ┌─────────────────────┐ │ +│ │ │ │ │ │ +│ │ Heures/semaine │ │ CA vs Heures │ │ +│ │ (barres) │ │ (combo) │ │ +│ │ │ │ │ │ +│ └─────────────────────┘ └─────────────────────┘ │ +└─────────────────────────────────────────────────────────┘ +``` + +--- + +## 9. Phases de Developpement + +| Phase | Contenu | Methode | Duree | +|-------|---------|---------|-------| +| 1 | Structure fichier + tables | MCP VBA | 1h | +| 2 | Formules KPIs | MCP VBA | 1h | +| 3 | Tableaux croises dynamiques | Excel UI | 1h | +| 4 | Graphiques | Excel UI | 2h | +| 5 | Dashboard layout + slicers | Excel UI | 2h | +| 6 | Design polish + donnees demo | Excel UI | 1h | +| 7 | Tests + documentation | Manuel | 1h | + +**Total estime:** ~9h + +--- + +## 10. Livrables Finaux + +- [ ] Fichier `.xlsx` fonctionnel avec donnees demo +- [ ] README avec screenshots +- [ ] (Bonus) Version `.xlsm` avec macros refresh +- [ ] (Bonus) GIF de demo + +--- + +## 11. Criteres de Succes + +- [ ] Le dashboard est lisible en 5 secondes +- [ ] Les filtres fonctionnent sans lag +- [ ] Les donnees se mettent a jour automatiquement +- [ ] Le design est pro et moderne +- [ ] Utilisation personnelle (dogfooding) + +--- + +## 12. Integration TimeTrack Pro + +### Option A: Export manuel + +``` +TimeTrack Pro (Access) → Export Excel → Copier/Coller → Dashboard +``` + +### Option B: Liaison ODBC (V2) + +``` +TimeTrack Pro (Access) ← Connexion ODBC ← Dashboard (Power Query) +``` + +### Option C: Macro d'import (V2) + +```vba +Sub ImportFromAccess() + ' Connexion ADO vers TimeTrackPro.accdb + ' Import des donnees dans les tables Excel +End Sub +``` + +--- + +**Auteur:** Alexis Trouve +**Date:** 2025-12-30 +**Version:** 1.0 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/templates/FreelanceDashboard.xlsm b/templates/FreelanceDashboard.xlsm new file mode 100644 index 0000000000000000000000000000000000000000..bb64ae12c9aad7c492c0b951ad13e2a162ef7206 GIT binary patch literal 90979 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 G(EkIw;WIM; literal 0 HcmV?d00001