Ce que vous saurez faire à la fin
- Construire un grand livre comptable conforme au plan SYSCOHADA révisé (classes 1 à 7)
- Générer une balance générale automatisée à partir des écritures journal
- Produire un compte de résultat synthétique conforme au système normal OHADA
- Calculer un bilan actif/passif équilibré avec formules Excel
- Mettre en place un classeur de suivi mensuel pour une PME sénégalaise
Durée : 5h. Pré-requis : Excel 2016 ou plus récent, connaissances de base du plan comptable SYSCOHADA, un journal d’opérations d’au moins 50 écritures, format FCFA pour les montants.
Étape 1 — Comprendre la structure SYSCOHADA
Le SYSCOHADA révisé (en vigueur depuis le 1er janvier 2018, applicable au Sénégal et 16 autres pays OHADA) organise les comptes en 9 classes :
| Classe | Intitulé | Exemples comptes |
|---|---|---|
| 1 | Ressources durables (capitaux, emprunts) | 101 Capital, 161 Emprunts |
| 2 | Actif immobilisé | 211 Terrains, 244 Matériel et mobilier |
| 3 | Stocks | 311 Marchandises, 331 Matières premières |
| 4 | Tiers (clients, fournisseurs, État, personnel) | 411 Clients, 401 Fournisseurs, 4421 État TVA |
| 5 | Trésorerie | 521 Banques, 571 Caisse |
| 6 | Charges (par nature) | 601 Achats, 661 Salaires |
| 7 | Produits (par nature) | 701 Ventes marchandises, 7071 Ports facturés |
| 8 | Autres charges et produits HAO | 831 Charges HAO, 841 Produits HAO |
| 9 | Comptabilité analytique (interne) | Optionnel |
Règle des soldes : classes 1, 4 (passif), 7, 8 (produits) ont un solde créditeur normal. Classes 2, 3, 4 (actif), 5, 6, 8 (charges) ont un solde débiteur.
Étape 2 — Préparer le classeur Excel
Créez un nouveau fichier Compta_2026.xlsx avec 5 feuilles : Plan_Comptable, Journal, Grand_Livre, Balance, Etats_Financiers. Convertissez chaque feuille de données en Tableau structuré (Ctrl+L) pour faciliter les formules.
Sur la feuille Plan_Comptable, structurez ainsi : A=Numero (texte), B=Intitule, C=Classe, D=Sens (D ou C). Importez le plan SYSCOHADA officiel (disponible sur le site de l’ONECCA Sénégal). Nommez le tableau tPlan.
Étape 3 — Structurer le journal des écritures
Sur la feuille Journal, créez les colonnes : A=NumPiece, B=DateOp, C=NumCompte, D=IntituleCompte, E=Libelle, F=Debit_FCFA, G=Credit_FCFA, H=Mois (formule), I=Verif (contrôle équilibre).
Saisissez quelques écritures types :
| NumPiece | DateOp | NumCompte | IntituleCompte | Libelle | Debit | Credit |
|---|---|---|---|---|---|---|
| FA001 | 05/03/2026 | 411000 | Clients Ndiaye Sarl | Vente facture FA001 | 1 180 000 | 0 |
| FA001 | 05/03/2026 | 701000 | Ventes marchandises | Vente facture FA001 | 0 | 1 000 000 |
| FA001 | 05/03/2026 | 4431 | État TVA facturée 18% | TVA s/FA001 | 0 | 180 000 |
Convertissez en tableau structuré nommé tJournal.
Étape 4 — Formules d’enrichissement du journal
En colonne D (IntituleCompte), formule de récupération automatique depuis le plan :
=SIERREUR(RECHERCHEV([@NumCompte];tPlan;2;FAUX);"Compte inconnu")
' En colonne H (Mois) : extrait le mois pour les filtres
=TEXTE([@DateOp];"AAAA-MM")
' En colonne I (Verif) : contrôle équilibre par pièce
=SI(SOMME.SI.ENS(tJournal[Debit_FCFA];tJournal[NumPiece];[@NumPiece])
=SOMME.SI.ENS(tJournal[Credit_FCFA];tJournal[NumPiece];[@NumPiece]);
"OK";"DESEQUILIBRE")
Toute écriture doit avoir Débit = Crédit par numéro de pièce. La colonne Verif vous alerte sur les pièces déséquilibrées.
Étape 5 — Construire le grand livre par compte
Sur la feuille Grand_Livre, créez en cellule B2 une liste déroulante des comptes : Données > Validation des données > Liste > Source = =tPlan[Numero].
En cellules B4 à B6, affichez les KPI du compte sélectionné :
' Total Débit du compte
=SOMME.SI.ENS(tJournal[Debit_FCFA];tJournal[NumCompte];B2)
' Total Crédit du compte
=SOMME.SI.ENS(tJournal[Credit_FCFA];tJournal[NumCompte];B2)
' Solde du compte (Débit - Crédit)
=B4-B5
' Sens du solde (D si positif, C si négatif)
=SI(B6>=0;"D";"C")
' Solde absolu pour affichage
=ABS(B6)
Plus bas, affichez le détail des écritures du compte avec un filtre dynamique ou un TCD pointant sur tJournal filtré par NumCompte.
Étape 6 — Générer la balance générale
La balance liste tous les comptes mouvementés avec totaux Débit, Crédit et Solde. Sur la feuille Balance, copiez la liste des comptes du plan en colonne A. Puis appliquez ces formules sur chaque ligne :
' Colonne B : Intitulé
=SIERREUR(RECHERCHEV(A2;tPlan;2;FAUX);"")
' Colonne C : Total Débit
=SOMME.SI.ENS(tJournal[Debit_FCFA];tJournal[NumCompte];A2)
' Colonne D : Total Crédit
=SOMME.SI.ENS(tJournal[Credit_FCFA];tJournal[NumCompte];A2)
' Colonne E : Solde Débiteur (positif si Débit>Crédit)
=SI(C2-D2>0;C2-D2;0)
' Colonne F : Solde Créditeur (positif si Crédit>Débit)
=SI(D2-C2>0;D2-C2;0)
' Colonne G : Classe (premier chiffre du compte)
=GAUCHE(A2;1)*1
En bas de la balance, ajoutez les totaux : =SOMME(C:C), =SOMME(D:D), =SOMME(E:E), =SOMME(F:F). Les totaux Débit et Crédit doivent être égaux. Idem pour Solde Débiteur et Solde Créditeur.
Étape 7 — Filtrer la balance par mois
Pour une balance arrêtée à fin Mars 2026, modifiez les formules pour intégrer un critère de date. En cellule H1, saisissez « 31/03/2026 » :
' Total Débit jusqu'à la date H1
=SOMME.SI.ENS(tJournal[Debit_FCFA];
tJournal[NumCompte];A2;
tJournal[DateOp];"<="&$H$1)
' Total Crédit jusqu'à la date H1
=SOMME.SI.ENS(tJournal[Credit_FCFA];
tJournal[NumCompte];A2;
tJournal[DateOp];"<="&$H$1)
Changez la date H1, toute la balance se recalcule. C’est votre balance arrêtée à n’importe quelle date.
Étape 8 — Compte de résultat SYSCOHADA
Le compte de résultat OHADA système normal s’organise par soldes intermédiaires de gestion (SIG). Sur la feuille Etats_Financiers, structurez ainsi :
| Code | Libellé | Formule (montant FCFA) |
|---|---|---|
| TA | Ventes de marchandises | =SOMME.SI.ENS(Balance!F:F;Balance!A:A; »>=701″;Balance!A:A; »<702″) |
| RA | Achats de marchandises | =SOMME.SI.ENS(Balance!E:E;Balance!A:A; »>=601″;Balance!A:A; »<602″) |
| XA | Marge commerciale | =TA-RA |
| TB | Ventes de produits fabriqués | =SOMME.SI.ENS(Balance!F:F;Balance!A:A; »>=702″;Balance!A:A; »<706″) |
| TC | Travaux et services vendus | =SOMME.SI.ENS(Balance!F:F;Balance!A:A; »>=706″;Balance!A:A; »<708″) |
| XB | Chiffre d’affaires (TA+TB+TC) | =TA+TB+TC |
| RB | Achats matières premières | =SOMME.SI.ENS(Balance!E:E;Balance!A:A; »>=602″;Balance!A:A; »<604″) |
| RH | Autres achats (eau, électricité, fournitures) | =SOMME.SI.ENS(Balance!E:E;Balance!A:A; »>=604″;Balance!A:A; »<606″) |
| XD | Valeur ajoutée | =XB-RB-RH (simplifié) |
| RK | Charges de personnel (66) | =SOMME.SI.ENS(Balance!E:E;Balance!A:A; »>=66″;Balance!A:A; »<67″) |
| XE | Excédent brut d’exploitation | =XD-RK |
| XI | Résultat net de l’exercice | =XE-Amortissements-Impôts |
Étape 9 — Formules avancées pour le compte de résultat
Pour totaliser tous les comptes commençant par « 60 » (achats), utilisez SOMMEPROD avec GAUCHE :
' Total des charges classe 6 (toutes natures)
=SOMMEPROD((GAUCHE(Balance!A:A;1)="6")*Balance!E:E)
' Total des produits classe 7
=SOMMEPROD((GAUCHE(Balance!A:A;1)="7")*Balance!F:F)
' Charges de personnel détaillées (compte 66 : 661 à 668)
=SOMMEPROD((GAUCHE(Balance!A:A;2)="66")*Balance!E:E)
' Résultat d'exploitation simplifié
=Total_Produits_7 - Total_Charges_6
Étape 10 — Construire le bilan actif
Sur la feuille Etats_Financiers, ajoutez un bloc Bilan structuré actif et passif. Côté actif :
| Rubrique | Comptes | Formule (Solde Débiteur) |
|---|---|---|
| Immobilisations corporelles | 21, 22, 23, 24 | =SOMMEPROD((GAUCHE(Balance!A:A;1)= »2″)*Balance!E:E) – Amortissements |
| Stocks de marchandises | 311, 312 | =SOMMEPROD((GAUCHE(Balance!A:A;3)= »311″)*Balance!E:E) |
| Créances clients | 411, 416 | =SOMMEPROD((GAUCHE(Balance!A:A;3)= »411″)*Balance!E:E) |
| État, autres créances | 4456 TVA récup, 449 | =SOMMEPROD((GAUCHE(Balance!A:A;4)= »4456″)*Balance!E:E) |
| Banque | 521 | =SOMME.SI.ENS(Balance!E:E;Balance!A:A; »521″) |
| Caisse | 571 | =SOMME.SI.ENS(Balance!E:E;Balance!A:A; »571″) |
| TOTAL ACTIF | =SOMME des lignes ci-dessus |
Étape 11 — Bilan passif et équilibre
Côté passif (Solde Créditeur) :
| Rubrique | Comptes | Formule |
|---|---|---|
| Capital | 101 | =SOMME.SI.ENS(Balance!F:F;Balance!A:A; »101″) |
| Réserves | 11, 12 | =SOMMEPROD((GAUCHE(Balance!A:A;1)= »1″)*(GAUCHE(Balance!A:A;3)<> »161″)*Balance!F:F) |
| Résultat de l’exercice | 13 | Reporté du compte de résultat XI |
| Emprunts | 16 | =SOMMEPROD((GAUCHE(Balance!A:A;2)= »16″)*Balance!F:F) |
| Fournisseurs | 401 | =SOMMEPROD((GAUCHE(Balance!A:A;3)= »401″)*Balance!F:F) |
| État TVA collectée | 4431, 4432 | =SOMMEPROD((GAUCHE(Balance!A:A;3)= »443″)*Balance!F:F) |
| Personnel à payer | 422 | =SOMME.SI.ENS(Balance!F:F;Balance!A:A; »422″) |
| TOTAL PASSIF | =SOMME des lignes ci-dessus |
Cellule de contrôle : =SI(TOTAL_ACTIF=TOTAL_PASSIF;"BILAN ÉQUILIBRÉ";"DÉSÉQUILIBRE de "&TEXTE(TOTAL_ACTIF-TOTAL_PASSIF;"# ##0")&" FCFA").
Étape 12 — Automatisation TVA mensuelle
Au Sénégal, la TVA collectée moins la TVA récupérable se déclare mensuellement. Créez un bloc TVA :
' TVA collectée mois M (compte 4431)
=SOMME.SI.ENS(tJournal[Credit_FCFA];
tJournal[NumCompte];"4431";
tJournal[Mois];"2026-03")
' TVA récupérable sur achats (compte 4452)
=SOMME.SI.ENS(tJournal[Debit_FCFA];
tJournal[NumCompte];"4452";
tJournal[Mois];"2026-03")
' TVA à payer
=TVA_Collectee - TVA_Recuperable
' Si négatif : crédit de TVA reportable
=SI(TVA_a_Payer<0;"Crédit de TVA : "&ABS(TVA_a_Payer);
"À payer : "&TVA_a_Payer)
Étape 13 — Macro VBA pour clôturer un mois
Pour figer une balance et générer une copie d’archive, utilisez cette macro VBA. Ouvrez l’éditeur (Alt+F11), insérez un module, collez :
Sub ClotureMois()
Dim wsBal As Worksheet, wsArch As Worksheet
Dim moisCloture As String
moisCloture = InputBox("Mois à clôturer (format AAAA-MM) :", _
"Clôture mensuelle", "2026-03")
If moisCloture = "" Then Exit Sub
Set wsBal = ThisWorkbook.Worksheets("Balance")
' Créer une copie de la balance
wsBal.Copy After:=ThisWorkbook.Worksheets( _
ThisWorkbook.Worksheets.Count)
Set wsArch = ActiveSheet
wsArch.Name = "Bal_" & Replace(moisCloture, "-", "_")
' Convertir les formules en valeurs (figer)
With wsArch.UsedRange
.Value = .Value
End With
' Protéger la feuille
wsArch.Protect Password:="OHADA2026", _
AllowFormattingCells:=False
MsgBox "Balance " & moisCloture & " archivée et protégée.", _
vbInformation, "Clôture OK"
End Sub
Étape 14 — Cas concret PME sénégalaise
Une SARL de distribution alimentaire à Dakar, 12 salariés, CA 480 millions FCFA. Le classeur Compta_2026.xlsx contient 1 200 écritures sur 3 mois. Workflow mensuel : (1) saisie des factures clients/fournisseurs jour par jour dans le Journal, (2) saisie banque depuis relevé en début de mois suivant, (3) lettrage clients/fournisseurs, (4) refresh balance, (5) génération du compte de résultat et bilan provisoires, (6) déclaration TVA avant le 15 du mois.
Avantages vs Sage : coût zéro, format fichier ouvert, formation rapide, intégration native avec Power BI pour dashboards. Limites : pas de lettrage automatique, pas de DGE en ligne, pas de gestion d’immobilisations avancée. Recommandé pour les TPE/PME jusqu’à 800 millions FCFA de CA, au-delà passer à Sage Saari ou Odoo Comptabilité.
Erreurs classiques à éviter
- Erreur : numéros de comptes en format Nombre au lieu de Texte — « 060000 » devient « 60000 », les RECHERCHEV échouent. Toujours formater la colonne en Texte avant la saisie.
- Erreur : oublier la TVA dans une écriture de vente — Débit Client 1 000 000, Crédit Vente 1 000 000 (manque TVA 180 000). Pièce déséquilibrée. La colonne Verif détecte.
- Erreur : utiliser le plan PCG français au lieu du SYSCOHADA — le 4456 français (TVA déductible) est codé 4452 en SYSCOHADA. Toujours partir du plan officiel ONECCA Sénégal.
- Erreur : ne pas équilibrer les écritures par lot — les balances ne tombent pas, recherche d’erreur très longue. Saisir une pièce complète d’un coup.
- Erreur : modifier des écritures de mois clôturés — remet en cause les déclarations TVA et IS déjà déposées. Toujours verrouiller les mois clos.
- Erreur : confondre solde débiteur et solde créditeur dans le bilan — un compte 411 Clients (solde débiteur) ne peut pas figurer au passif. Toujours vérifier le sens du compte selon le SYSCOHADA.
- Erreur : oublier les régularisations de fin d’exercice (charges à payer, produits constatés d’avance) — résultat faussé. Prévoir une session d’inventaire en décembre.
Checklist Excel comptabilité OHADA opérationnelle
✓ Plan SYSCOHADA officiel importé dans la feuille Plan_Comptable
✓ Colonne NumCompte formatée en Texte (préserver les zéros)
✓ Tableaux structurés créés (tPlan, tJournal, tBalance)
✓ Journal avec colonne Verif contrôlant équilibre par pièce
✓ Liste déroulante des comptes sur le grand livre
✓ Balance générale calculée par formules SOMME.SI.ENS
✓ Total Débit = Total Crédit dans la balance (équilibre)
✓ Compte de résultat structuré par soldes intermédiaires SYSCOHADA
✓ Bilan actif/passif équilibré (cellule de contrôle)
✓ Bloc TVA mensuelle (collectée - récupérable)
✓ Déclaration TVA arrêtée avant le 15 du mois suivant
✓ Macro VBA de clôture mensuelle avec archivage
✓ Mois clos protégés par mot de passe
✓ Sauvegarde mensuelle hors site (OneDrive Pro ou disque externe)
✓ Validation par expert-comptable agréé ONECCA avant dépôt légal