Automatiser les contrôles d’assurance qualité des données, Excel VBA
Automatiser les contrôles d’assurance qualité des données dans Excel en utilisant VBA (Visual Basic for Applications) peut être très utile pour garantir l’intégrité et la fiabilité des données. Voici un exemple de code VBA détaillé pour effectuer quelques contrôles d’assurance qualité courants, tels que :
1. Vérifier les doublons dans une colonne.
2. Vérifier la présence de valeurs manquantes (cellules vides).
3. Vérifier si les valeurs respectent un format spécifique (par exemple, des dates ou des numéros).
4. Vérifier les plages de valeurs (par exemple, une colonne de scores ne doit pas être inférieure à 0 ou supérieure à 100).
Exemple de code VBA pour l’automatisation des contrôles d’assurance qualité des données
Sub ControleQualiteDonnees()
Dim ws As Worksheet
Dim lastRow As Long
Dim i As Long
Dim col As Long
Dim cell As Range
Dim dict As Object
Set dict = CreateObject("Scripting.Dictionary")
' Définir la feuille de calcul à analyser
Set ws = ThisWorkbook.Sheets("Feuil1")
' Trouver la dernière ligne utilisée de la colonne A (ajuster selon la colonne utilisée)
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
' 1. Vérification des doublons dans la colonne A
MsgBox "Contrôle des doublons dans la colonne A..."
For i = 2 To lastRow ' En supposant que les données commencent à la ligne 2
If dict.exists(ws.Cells(i, 1).Value) Then
ws.Cells(i, 1).Interior.Color = RGB(255, 0, 0) ' Met en rouge les doublons
Else
dict.Add ws.Cells(i, 1).Value, Nothing
End If
Next i
' 2. Vérification des valeurs manquantes dans la colonne B
MsgBox "Contrôle des valeurs manquantes dans la colonne B..."
For i = 2 To lastRow
If IsEmpty(ws.Cells(i, 2).Value) Then
ws.Cells(i, 2).Interior.Color = RGB(255, 255, 0) ' Met en jaune les cellules vides
End If
Next i
' 3. Vérification du format des dates dans la colonne C
MsgBox "Contrôle du format des dates dans la colonne C..."
For i = 2 To lastRow
If Not IsDate(ws.Cells(i, 3).Value) And ws.Cells(i, 3).Value <> "" Then
ws.Cells(i, 3).Interior.Color = RGB(255, 165, 0) ' Met en orange les erreurs de date
End If
Next i
' 4. Vérification des plages de valeurs dans la colonne D (par exemple, des scores entre 0 et 100)
MsgBox "Contrôle des plages de valeurs dans la colonne D..."
For i = 2 To lastRow
If IsNumeric(ws.Cells(i, 4).Value) Then
If ws.Cells(i, 4).Value < 0 Or ws.Cells(i, 4).Value > 100 Then
ws.Cells(i, 4).Interior.Color = RGB(0, 255, 0) ' Met en vert les valeurs hors plage
End If
End If
Next i
MsgBox "Les contrôles d'assurance qualité des données sont terminés."
End Sub
Explication du code
1. Initialisation et définition de la feuille de travail :
La première étape consiste à définir la feuille de calcul à analyser (ici, « Feuil1 »).
Ensuite, la dernière ligne utilisée dans la colonne A est récupérée pour parcourir les données.
2. Contrôle des doublons dans la colonne A :
Nous utilisons un dictionnaire (Scripting.Dictionary) pour suivre les valeurs uniques dans la colonne A.
Si une valeur apparaît plusieurs fois, elle est considérée comme un doublon, et la cellule est coloriée en rouge.
3. Contrôle des valeurs manquantes (cellules vides) dans la colonne B :
Le code parcourt chaque cellule de la colonne B et vérifie si elle est vide (IsEmpty).
Si la cellule est vide, elle est coloriée en jaune.
4. Contrôle du format des dates dans la colonne C :
Le code vérifie si les valeurs de la colonne C sont des dates valides en utilisant la fonction IsDate.
Si une cellule contient une valeur qui n’est pas une date, elle est coloriée en orange.
5. Contrôle des plages de valeurs dans la colonne D :
Dans cet exemple, nous vérifions que les valeurs de la colonne D sont des nombres compris entre 0 et 100.
Si une valeur est en dehors de cette plage, elle est coloriée en vert.
6. Messages :
Des messages s’affichent avant chaque étape pour informer l’utilisateur de la progression des contrôles.
Améliorations possibles
• Personnalisation : Vous pouvez personnaliser le code en fonction des spécifications de vos données. Par exemple, vous pouvez ajouter des vérifications supplémentaires pour d’autres types de contrôles qualité.
• Ajout d’un résumé : À la fin du processus, il peut être utile de générer un rapport résumant les erreurs ou les anomalies détectées dans les données.
Comment utiliser ce code
1. Ouvrez Excel.
2. Appuyez sur Alt + F11 pour ouvrir l’éditeur VBA.
3. Dans l’éditeur VBA, cliquez sur Insertion > Module.
4. Copiez et collez le code ci-dessus dans le module.
5. Fermez l’éditeur VBA.
6. Pour exécuter le code, allez dans l’onglet « Développeur » dans Excel, cliquez sur « Macros », sélectionnez ControleQualiteDonnees et cliquez sur « Exécuter ».
Ce code est un point de départ pour automatiser les contrôles d’assurance qualité dans vos données Excel en utilisant VBA. Vous pouvez l’ajuster en fonction de vos besoins spécifiques.