Audit de données et VBA : automatisation du formatage des données numériques

Lorsque l’auditeur exploite des données extraites d’un système informatique, il est fréquemment confronté à des formats numériques incompatibles avec les formats proposés par Excel. L’auditeur doit alors retraiter manuellement les éléments chiffrés, ce qui s’avère fastidieux sur des listes de données conséquentes.

Le VBA peut, dans ce cadre, s’avérer beaucoup plus productif.

La fonction et la procédure VBA proposées (intitulées respectivement NettoyageNombre et NettoyageNombreSélection) retraitent les données qui leur sont soumises afin qu’elles soient reconnues par Excel comme des données numériques.

Retrouvez l’article complet en téléchargement en bas de page.

Extrait de l’article :

Exemple de formats de données rencontrés et traitements effectués par la fonction et la procédure :

Conventions Formats Problématique Excel Réponse apportée par la fonction
Séparateur de milliers 1 000 : espace Si un espace est inséré pour représenter les milliers, Excel ne reconnaît plus la donnée comme un nombre mais comme une chaîne de caractères La fonction supprime tous les espaces
Décimale 1000,23 : virgule En France, la décimale est représentée par une virgule (paramètres régionaux de Windows)
1000.23 : point Un nombre dont la décimale est représentée par un point est reconnu comme une chaîne de caractère La fonction remplace le point par une virgule
Signe -10 En France, le signe négatif est positionné à gauche du nombre
10- Si le signe est positionné à droite, le nombre est reconnu comme une chaîne La fonction déplace le signe à gauche
(10) Les parenthèses sont généralement reconnues comme un signe négatif La fonction remplace les parenthèses par un signe moins
Sens C10 ou 10C : crédit Cette notation n’est pas reconnue par Excel La fonction remplace le caractère C par un signe moins
D10 ou 10D : débit Cette notation n’est pas reconnue par Excel La fonction supprime le caractère D

Code source de la fonction NettoyageNombre et de la procédure NettoyageNombreSélection :

Function NettoyageNombre(nombre As Variant)
'Renvoie un nombre formaté pour être reconnu comme un nombre par Excel'Fonction rédigée par Benoît-René RIVIERE
    Dim s2 As String
 
    s2 = nombre
    'Supprime les espaces
    s2 = Replace(s2, " ", "")
    'Remplace les . par des ,
    s2 = Replace(s2, ".", ",")
    'Replace le caractère C (crédit) par un signe -
    If InStr(s2, "C") > 0 Then
        s2 = Replace(s2, "C", "")
        If InStr(s2, "-") > 0 Then s2 = Replace(s2, "-", "") Else s2 = "-" & s2
    End If
    'Supprime le caractère D (débit)
    If InStr(s2, "D") > 0 Then
        s2 = Replace(s2, "D", "")
    End If
    'Déplace le caractère - de la droite vers la gauche
    If InStr(s2, "-") > 1 Then
        s2 = "-" & Replace(s2, "-", "")
    End If
    'Remplace les parenthèses par un signe -
    If InStr(s2, "(") > 0 Then
        s2 = "-" & Replace(s2, "(", "")
        s2 = Replace(s2, ")", "")
    End If
 
    'Renvoie le résultat
    If Len(s2) > 0 Then NettoyageNombre = CDbl(s2)
End Function
 
Sub NettoyageNombreSélection()
    Dim Cellule As Variant
 
    For Each Cellule In Selection
        Cellule.Value = NettoyageNombre(Cellule.Value)
    Next Cellule
End Sub

Approfondir le sujet : conversion de fichiers et de données / programmer en VBA

Share Button
EXCEL-VBA-Audit-de-donnees-Automatisation-du-formatage-des-donnees-numeriques
EXCEL-VBA-Audit-de-donnees-Automatisation-du-formatage-des-donnees-numeriques
EXCEL-VBA-Audit-de-donnees-Automatisation-du-formatage-des-donnees-numeriques.pdf
199 KiB
2650 téléchargements
Détails...
The following two tabs change content below.
Après seize années passées en cabinet d’expertise-comptable et de commissariat aux comptes (où j’ai exercé comme expert-comptable et chef de mission audit), j’ai pris le poste de directeur comptable d’un groupe de distribution automobile en novembre 2014. Au cours de ma carrière, j’ai acquis une expérience significative en audit et en exploitation des systèmes d’information (analyse de données, automatisation des tâches, programmation informatique) au service de la production des comptes annuels et consolidés. C’est cette expérience personnelle et ma passion pour l’informatique que je partage sur ce blog. Mon CV / Réalisations personnelles et projets informatiques / Ma collection / Me contacter

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.