freelance-dashboard/docs/MCP_VBA_GUIDE.md
StillHammer 3a2fb2187e Initial commit - Freelance Dashboard
Dashboard KPI Excel pour suivi d'activite freelance

Fichiers inclus:
- Documentation (README, PLAN, DATA_MODEL, FORMULAS)
- Template Excel avec tables de donnees
- Plan d'implementation pour agent
- Configuration MCP VBA Server

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 11:08:00 +07:00

261 lines
6.4 KiB
Markdown

# Freelance Dashboard - Guide MCP VBA
Comment utiliser VBA MCP Server pour construire ce projet Excel.
## Prerequis
1. VBA MCP Server v0.6.0+ installe
2. Microsoft Excel installe
3. "Trust access to VBA project object model" active dans Excel
## Outils MCP Disponibles
### Pour Excel
| Outil | Usage dans ce projet |
|-------|---------------------|
| `get_worksheet_data` | Lire donnees des feuilles |
| `set_worksheet_data` | Ecrire donnees et formules |
| `list_excel_tables` | Lister les Excel Tables |
| `create_excel_table` | Creer tables structurees |
| `insert_rows` | Ajouter lignes |
| `delete_rows` | Supprimer lignes |
| `inject_vba` | Injecter macros optionnelles |
| `validate_vba` | Valider syntaxe VBA |
| `run_macro` | Executer macros |
| `open_in_office` | Ouvrir Excel visible |
---
## Etape 1: Creer le Fichier Excel
**Manuel:** Ouvrir Excel > Nouveau classeur > Enregistrer comme `FreelanceDashboard.xlsx`
**Emplacement:** `C:\Users\alexi\Documents\projects\freelance-dashboard\templates\FreelanceDashboard.xlsx`
### Creer les onglets
Renommer/creer les feuilles:
1. Dashboard
2. Data_Clients
3. Data_Temps
4. Data_Revenus
5. Config
---
## Etape 2: Creer les Tables de Donnees
### Data_Clients
```
Utilise set_worksheet_data pour ecrire les donnees:
```
```python
# En-tetes + donnees
data = [
["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"],
]
set_worksheet_data("FreelanceDashboard.xlsx", "Data_Clients", data)
```
```
Puis creer la table structuree:
```
```python
create_excel_table("FreelanceDashboard.xlsx", "Data_Clients", "A1:D6", "tbl_Clients", has_headers=True)
```
### Data_Temps
```python
data = [
["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"],
]
set_worksheet_data("FreelanceDashboard.xlsx", "Data_Temps", data)
create_excel_table("FreelanceDashboard.xlsx", "Data_Temps", "A1:E11", "tbl_Temps", has_headers=True)
```
### Data_Revenus
```python
data = [
["Date", "ClientID", "Montant", "Type"],
["15/01/2025", "CLI001", 2500, "Facture"],
["20/01/2025", "CLI002", 4200, "Facture"],
["25/01/2025", "CLI003", 1800, "Facture"],
["28/01/2025", "CLI001", 1000, "Acompte"],
["31/01/2025", "CLI004", 3500, "Facture"],
["05/02/2025", "CLI002", 2800, "Facture"],
["10/02/2025", "CLI005", 1500, "Acompte"],
]
set_worksheet_data("FreelanceDashboard.xlsx", "Data_Revenus", data)
create_excel_table("FreelanceDashboard.xlsx", "Data_Revenus", "A1:D8", "tbl_Revenus", has_headers=True)
```
---
## Etape 3: Creer la Configuration
```python
data = [
["Parametre", "Valeur"],
["AnneeCourante", 2025],
["TauxHoraireDefaut", 75],
["DevisePrincipale", "EUR"],
["ObjectifMensuel", 10000],
["ObjectifHeures", 140],
]
set_worksheet_data("FreelanceDashboard.xlsx", "Config", data)
```
---
## Etape 4: Ecrire les Formules KPIs
```
Sur l'onglet Dashboard, ecrire les formules:
```
```python
kpis = [
["KPI", "Valeur", "Formule"],
["CA Total", "=SUM(tbl_Revenus[Montant])", ""],
["Heures Totales", "=SUM(tbl_Temps[Heures])", ""],
["Taux Horaire Moyen", "=B2/B3", ""],
["Nb Clients", "=COUNTA(tbl_Clients[ClientID])", ""],
]
set_worksheet_data("FreelanceDashboard.xlsx", "Dashboard", kpis, start_cell="A1")
```
---
## Etape 5: VBA Optionnel (Refresh)
```
Injecter une macro pour rafraichir les donnees:
```
```python
code = '''
Sub RefreshDashboard()
' Rafraichit toutes les connexions et TCD
Application.CalculateFull
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
Dim pt As PivotTable
For Each pt In ws.PivotTables
pt.RefreshTable
Next pt
Next ws
MsgBox "Dashboard actualise!", vbInformation
End Sub
Sub AutoRefresh()
' Appele a l'ouverture du classeur
RefreshDashboard
End Sub
'''
validate_vba(code, file_type="excel")
inject_vba("FreelanceDashboard.xlsm", "mod_Refresh", code)
```
---
## Commandes Frequentes
### Lire les donnees
```
get_worksheet_data("FreelanceDashboard.xlsx", "Data_Temps")
```
### Ajouter une entree de temps
```python
# Lire donnees existantes, ajouter ligne, reecrire
# Ou utiliser insert_rows
insert_rows("FreelanceDashboard.xlsx", "Data_Temps", position=12, count=1)
set_worksheet_data("FreelanceDashboard.xlsx", "Data_Temps",
[["10/01/2025", "CLI001", "Nouveau", 2.5, "Test"]],
start_cell="A12")
```
### Lister les tables
```
list_excel_tables("FreelanceDashboard.xlsx")
```
### Ouvrir Excel visible
```
open_in_office("FreelanceDashboard.xlsx")
```
### Executer macro refresh
```
run_macro("FreelanceDashboard.xlsm", "RefreshDashboard")
```
---
## Ce qui doit etre fait dans Excel UI
| Element | Raison |
|---------|--------|
| Tableaux Croises Dynamiques | Interface complexe |
| Graphiques | Design visuel precis |
| Slicers | Connexion aux TCD |
| Mise en forme conditionnelle | Regles visuelles |
| Layout Dashboard | Positionnement precis |
---
## Workflow Complet
```
1. Creer fichier Excel vide → Manuel
2. set_worksheet_data → Donnees clients
3. set_worksheet_data → Donnees temps
4. set_worksheet_data → Donnees revenus
5. create_excel_table (x3) → Tables structurees
6. set_worksheet_data → Config
7. set_worksheet_data → Formules KPIs
8. Creer TCD → Excel UI
9. Creer graphiques → Excel UI
10. Design dashboard → Excel UI
11. inject_vba → Macro refresh (optionnel)
```
---
## Fichiers de Reference
| Fichier | Contenu |
|---------|---------|
| `DATA_MODEL.md` | Schema tables + donnees demo |
| `FORMULAS.md` | Toutes les formules Excel |
| `PLAN.md` | Layout, couleurs, phases |