Le cabinet ouvre prochainement. Guides et simulateurs sont déjà en libre accès —être informé de l’ouverture
Excel de zéro à héros · Épisode 33 sur 50

Contrôles automatiques : équilibre, doublons, trous de numérotation, écarts

Épisode 33 : bâtir une feuille de contrôles qui détecte pièces déséquilibrées, doublons, comptes inconnus, écritures un week-end et trous de numérotation.

Publié le 7 min de lectureNiveau : IntermédiaireModule 6 : La comptabilité dans Excel : de l’écriture aux états de synthèseRédaction ExpertiseComptable.ma

En bref
  • Un contrôle est une formule qui vérifie un invariant (débit = crédit, une clé unique, un numéro consécutif) et signale tout écart : on cherche les anomalies avant que l’auditeur ou le fisc ne les trouve.
  • Cinq contrôles couvrent l’essentiel d’un journal : équilibre par pièce, doublons (par clé assemblée), compte absent du plan, date inhabituelle, trou de numérotation.
  • Chaque ligne porte ses propres indicateurs ; une feuille de synthèse compte les anomalies par type et affiche un total qui doit être zéro.
  • Une alerte n’est pas une erreur : une écriture un samedi peut être légitime, un trou de numérotation doit être expliqué, un doublon doit être tranché.

Un fichier comptable n’est jamais « bon » parce qu’on le croit bon. Il est bon parce qu’il a passé des contrôles. L’auditeur applique les siens ; autant appliquer les mêmes en amont, avec des formules, à chaque mise à jour. Cet épisode construit une petite batterie de contrôles réutilisables sur n’importe quel journal.

Ce que vous saurez faire à la fin de l’épisode

  • formuler un contrôle comme un invariant à vérifier ;
  • détecter pièces déséquilibrées, doublons, comptes inconnus, dates suspectes ;
  • contrôler la continuité d’une numérotation ;
  • consolider tous les contrôles dans une synthèse ;
  • traiter les anomalies sans les masquer.

Le principe

Un contrôle est une question à laquelle la réponse attendue est toujours la même : « le débit égale-t-il le crédit ? », « ce numéro de pièce existe-t-il une seule fois ? », « ce compte est-il dans le plan ? ». Chaque contrôle s’écrit comme une colonne de drapeaux (un texte court si anomalie, rien sinon), qu’on dénombre ensuite dans une feuille de synthèse. Plutôt que de mettre en rouge une valeur, on écrit en toutes lettres ce qui ne va pas, pour que l’information survive à l’impression en noir et blanc.

Le cas : un journal piégé

Voici douze lignes d’écriture de janvier d’Atlas Négoce, contenant volontairement des anomalies. Les colonnes de H à M sont des contrôles.

Journal de douze lignes avec colonnes de contrôle : écart par pièce, équilibre, doublon, compte inconnu, week-end et nombre d’anomalies par ligne Figure 1 : le journal contrôlé. Repère 1 : le doublon ; repère 2 : la pièce déséquilibrée ; repère 3 : le compte inconnu et le week-end.

Contrôle 1 : l’équilibre de chaque pièce

H2: =ARRONDI(SOMME.SI($C$2:$C$13;C2;$F$2:$F$13)-SOMME.SI($C$2:$C$13;C2;$G$2:$G$13);2)
I2: =SI(H2<>0;"Déséquilibre";"")

La pièce FV-0001 présente un écart de −1 000 : le débit total est 6 000 (client) alors que le crédit atteint 7 000 (ventes 5 000 + TVA 1 000 + TVA 1 000). Les quatre lignes de la pièce portent l’alerte.

Contrôle 2 : les doublons

Une ligne en double produit précisément ce déséquilibre : la ligne 4455 TVA facturée 1 000 apparaît deux fois (lignes 7 et 8). Pour la détecter, on assemble une clé qui identifie la ligne et l’on compte combien de fois elle apparaît :

N2: =C2&"_"&D2&"_"&F2&"_"&G2            (pièce, compte, débit, crédit)
J2: =SI(NB.SI($N$2:$N$13;N2)>1;"Doublon";"")

Les deux lignes identiques sont signalées. Pourquoi une clé plutôt que NB.SI.ENS avec quatre critères ? Parce qu’une cellule de débit vide utilisée comme critère n’est pas lue comme « vide » mais comme zéro, et la comparaison échoue sur les lignes où le débit ou le crédit est vide, c’est-à-dire presque toutes. La clé, elle, traite les vides comme du texte vide. Attention : deux lignes légitimement identiques (deux achats de même montant le même jour sur le même compte) seront aussi signalées ; c’est une alerte à examiner, pas un verdict.

Contrôle 3 : le compte est-il dans le plan ?

K2: =SI(NB.SI(Plan!$A$2:$A$15;D2)=0;"Inconnu";"")

Le compte 6199 (« Frais divers ») de la pièce FA-0107 n’existe pas dans le plan : il est signalé. Cela évite qu’une faute de frappe ou un compte non créé ne produise une balance qui ne ressemble à rien (épisode 32).

Contrôle 4 : les dates inhabituelles

L2: =SI(JOURSEM(A2;2)>5;"Week-end";"")

Les deux lignes de la pièce FA-0107 sont datées du 24/01/2026, un samedi. On peut aussi contrôler que la date est dans l’exercice : =SI(OU(A2<DebutExercice;A2>FinExercice);"Hors exercice";""), avec les dates en paramètres (épisode 10).

Contrôle 5 : le nombre d’anomalies par ligne

M2: =(I2<>"")+(J2<>"")+(K2<>"")+(L2<>"")

Chaque test renvoie VRAI (1) ou FAUX (0) ; la somme donne le nombre d’alertes de la ligne. On peut filtrer la colonne pour n’afficher que les lignes à examiner.

La numérotation : chercher les trous

Les factures de vente doivent suivre une numérotation continue et chronologique (voir notre guide sur les mentions obligatoires d’une facture). Une feuille Numérotation liste les factures de vente par ordre croissant et compare chaque numéro au précédent :

Contrôle de numérotation des factures de vente : FV-0001, FV-0003 et FV-0004 ; la facture FV-0002 manque, le contrôle signale un trou d’un numéro Figure 2 : la facture FV-0002 manque.

B3: =CNUM(DROITE(A3;4))                              → 3
C3: =B3-B2                                           → 2
D3: =SI(C3=1;"OK";"Trou : "&(C3-1)&" numéro(s) manquant(s)")

Pour FV-0003 après FV-0001, l’écart vaut 2 : « Trou : 1 numéro(s) manquant(s) ». Pour FV-0004, l’écart est 1 : OK. Le contrôle ne dit pas pourquoi : facture annulée, brouillon supprimé, saisie sur un autre journal ? Un trou doit toujours pouvoir être expliqué par une pièce (avoir, facture annulée conservée). Une facture ne se supprime pas pour « faire propre ».

Pour générer automatiquement la liste triée avec Microsoft 365 : =TRIER(FILTRE(Journal!C2:C13;GAUCHE(Journal!C2:C13;2)="FV")), avec UNIQUE pour éviter les répétitions de lignes d’une même pièce (épisode 48).

La synthèse

Synthèse des contrôles : quatre lignes de pièce déséquilibrée, deux lignes en doublon, un compte inconnu, deux lignes un week-end, un trou de numérotation, soit dix anomalies Figure 3 : la feuille de synthèse. Le total doit être zéro avant tout arrêté.

Contrôle Formule Résultat
Lignes de pièces déséquilibrées =NB.SI(Journal!I2:I13;"Déséquilibre") 4
Lignes en doublon =NB.SI(Journal!J2:J13;"Doublon") 2
Comptes absents du plan =NB.SI(Journal!K2:K13;"Inconnu") 1
Écritures un week-end =NB.SI(Journal!L2:L13;"Week-end") 2
Trous de numérotation =NB.SI(Numérotation!D2:D4;"Trou*") 1
Total des anomalies =SOMME(B2:B6) 10

Notez les références Journal! dans les formules de la synthèse : sans le nom de la feuille, NB.SI compterait dans la feuille de synthèse elle-même et renverrait zéro, ce qui est le cas typique d’un contrôle qui « passe » parce qu’il ne regarde rien. Testez toujours un contrôle sur un cas connu comme faux.

Traiter les anomalies

Dans l’ordre :

  1. Corriger les erreurs avérées : supprimer le doublon de la ligne 8 supprime d’un coup le déséquilibre de FV-0001 (le débit et le crédit sont de nouveau de 6 000 et 6 000) et l’alerte de doublon. Le total passe de 10 à 4 anomalies.
  2. Rattacher le compte inconnu : 6199 est remplacé par un compte du plan (ou créé dans le plan, si le besoin est avéré).
  3. Documenter les alertes légitimes : le samedi 24/01 correspond-il à un virement automatique ? Une colonne Commentaire retient la raison.
  4. Expliquer le trou : la facture FV-0002 a-t-elle été annulée ? Le justificatif est joint.
  5. Relancer les contrôles jusqu’à ce que le total ne comporte plus que des anomalies expliquées.

Une règle d’éthique professionnelle : on ne règle pas un contrôle en le désactivant. Un contrôle qui « gêne » est un contrôle qui travaille.

Autres contrôles utiles

Contrôle Idée
Montant négatif ou nul =SI(OU(F2<0;G2<0);"Négatif";"")
Les deux colonnes remplies =SI(ET(F2<>"";G2<>"");"D et C";"")
Libellé vide =SI(E2="";"Sans libellé";"")
Montant rond ou très élevé =SI(F2>SeuilAlerte;"Montant élevé";"")
Solde au « mauvais » sens Client créditeur, fournisseur débiteur (balance)
Bilan équilibré, report du résultat Épisode 34
Rapprochement avec une source externe Relevé bancaire (épisode 18), déclarations de TVA (épisode 35)

À vous de jouer

Dans le classeur d’exercice :

  1. Complétez les colonnes H à N du journal et la feuille Numérotation. Retrouvez 10 anomalies dans la synthèse.
  2. Supprimez la ligne 8 (la ligne en double) : quelles anomalies disparaissent ?
  3. Remplacez le compte 6199 par 6131 : que devient la synthèse ?
  4. Ajoutez la facture FV-0002 dans la feuille Numérotation (entre FV-0001 et FV-0003) : le trou disparaît-il ?
  5. Écrivez un contrôle « date postérieure à aujourd’hui ».

Correction. Après suppression de la ligne en double : plus de déséquilibre (4 lignes en moins) ni de doublon (2 en moins), il reste 4 anomalies (1 compte inconnu, 2 lignes un week-end, 1 trou). Le remplacement de 6199 par 6131 en fait disparaître une : 3 anomalies. L’ajout de FV-0002 supprime le trou : 2 anomalies, les deux lignes du samedi, à documenter. Le contrôle de date future s’écrit =SI(A2>AUJOURDHUI();"Date future";"").

À retenir

  • Un contrôle = un invariant + un drapeau en toutes lettres ; une synthèse les compte, le total doit être zéro.
  • Équilibre par pièce, doublons par clé assemblée, compte au plan, date, numérotation continue.
  • Testez les contrôles sur des cas faux, et nommez bien la feuille dans les formules de synthèse.
  • Une alerte se traite (correction, justification), elle ne se supprime pas.

Épisode 34 : une fois le journal et la balance contrôlés, le bilan et le CPC se tirent de la balance.

Questions fréquentes

Pourquoi utiliser une clé assemblée pour détecter les doublons ?

Parce qu’un doublon est une ligne identique sur plusieurs colonnes (pièce, compte, débit, crédit). Assembler ces colonnes en une clé permet un simple NB.SI sur la clé. Les critères multiples de NB.SI.ENS peuvent échouer sur des cellules vides, qui ne sont pas interprétées comme zéro.

Une facture annulée peut-elle être supprimée pour éviter un trou de numérotation ?

Non : la numérotation des factures de vente est continue et chronologique. Une facture erronée s’annule par un avoir (ou est conservée et marquée annulée) ; le trou doit pouvoir s’expliquer. Voir le guide sur les mentions obligatoires d’une facture.

Les écritures un week-end sont-elles une anomalie ?

Pas nécessairement : un virement, un règlement en ligne ou une paie peuvent être datés d’un samedi ou d’un dimanche. C’est une alerte à examiner, pas une erreur. Elle est surtout utile pour repérer des saisies de pièces datées de façon fantaisiste.

Comment automatiser ces contrôles à chaque import ?

En plaçant les formules dans un tableau Excel : elles se propagent aux nouvelles lignes. Pour des volumes importants ou des imports mensuels, Power Query alimente le tableau et les colonnes de contrôle se calculent automatiquement (épisode 46).

Rédaction ExpertiseComptable.ma

Articles rédigés par l’équipe du cabinet à partir des textes officiels et de la pratique des missions. Chaque article indique sa date de publication et, le cas échéant, de dernière revue.

Partager :LinkedInFacebookWhatsApp

Articles connexes

Une question sur votre situation ?

Décrivez-nous votre projet : nous vous répondons sous 48 heures ouvrées avec une proposition de lettre de mission.