Développer une solution de contrôle de qualité (QC) personnalisée, Excel VBA

Développer une solution de contrôle de qualité (QC) personnalisée, Excel VBA

Voici une explication détaillée avec un code VBA pour développer une solution de contrôle de qualité (QC) personnalisée dans Excel.
Objectif :
Le but de cette solution VBA est d’aider les entreprises ou les utilisateurs à mettre en place un système de Contrôle de Qualité (QC) sur leurs données. Le QC permet de garantir que les données traitées ou saisies dans Excel respectent des normes d’exactitude, de cohérence et de validité. Cette solution permet de surveiller la qualité des données, de signaler les erreurs et de fournir des actions correctives.
Étapes :
1. Saisie et validation des données

  • Les données sont placées dans une feuille Excel. Cela peut inclure des colonnes avec des données numériques, des dates, des textes ou des combinaisons de ces éléments.
  • Le QC consiste à vérifier certains problèmes comme des valeurs manquantes, des types de données incorrects, des valeurs hors de portée et des doublons.

2. Définition des règles QC

    • Des règles sont définies pour valider les données. Par exemple :
      • Les données numériques doivent se situer dans une plage spécifiée.
      • Les dates ne doivent pas être dans le futur.
      • Les champs texte ne doivent pas contenir de caractères spéciaux.
      • Il ne doit pas y avoir de doublons dans une colonne critique.

3. Signalement des erreurs

  • Les erreurs dans les données seront mises en évidence, et un journal des problèmes sera généré. Chaque erreur peut avoir une action corrective associée.

4. Retour d’information et rapport

  • Une fois les vérifications QC effectuées, le système génère un rapport indiquant combien d’enregistrements ont été validés, combien ont échoué et les problèmes spécifiques à chaque enregistrement.

5. Sortie

  • Les erreurs sont signalées dans les cellules.
  • Un rapport récapitulatif des résultats du QC est généré.

Explication détaillée de la solution :
1. Données saisies Les données sont supposées être dans des colonnes d’une feuille Excel. Par exemple :

  • Colonne A : ID du produit (Texte)
  • Colonne B : Quantité (Numérique)
  • Colonne C : Date de production (Date)

2. Critères de contrôle de qualité Pour l’exemple, les règles suivantes sont appliquées :

  • ID du produit doit être unique (pas de doublons).
  • Quantité doit être un nombre positif.
  • Date de production ne doit pas être dans le futur.
  • Les champs texte ne doivent pas contenir de caractères spéciaux.

3. Implémentation du code VBA Le code VBA suivant effectue les vérifications QC sur les données, signale les erreurs et fournit un rapport.
Code VBA pour le Contrôle de Qualité personnalisé :

Sub VerificationQualite()
    ' Définir la feuille de travail et la plage de données
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("Feuille1") ' Changez ici le nom de votre feuille
    Dim derniereLigne As Long
    derniereLigne = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row ' Dernière ligne avec des données
    ' Créer des colonnes pour les flags d'erreur
    ws.Cells(1, 4).Value = "Flags d'Erreur"
    ws.Cells(1, 5).Value = "Description d'Erreur"
    ' Variables pour le rapport
    Dim compteurValides As Long
    Dim compteurInvalides As Long
    Dim rapportErreur As String
    compteurValides = 0
    compteurInvalides = 0
    ' Boucle à travers chaque ligne et effectuer les vérifications
    Dim i As Long
    For i = 2 To derniereLigne
        Dim flagErreur As String
        Dim descriptionErreur As String
        flagErreur = "VALIDÉ"
        descriptionErreur = ""
        ' Vérifier l'unicité de l'ID produit (pas de doublons)
        If Application.CountIf(ws.Range("A2:A" & derniereLigne), ws.Cells(i, 1).Value) > 1 Then
            flagErreur = "INVALIDÉ"
            descriptionErreur = descriptionErreur & "ID produit en double; "
        End If
        ' Vérifier la validité de la quantité (doit être un nombre positif)
        If Not IsNumeric(ws.Cells(i, 2).Value) Or ws.Cells(i, 2).Value <= 0 Then flagErreur = "INVALIDÉ" descriptionErreur = descriptionErreur & "Quantité invalide; " End If ' Vérifier la date de production (ne doit pas être dans le futur) If IsDate(ws.Cells(i, 3).Value) Then If ws.Cells(i, 3).Value > Date Then
                flagErreur = "INVALIDÉ"
                descriptionErreur = descriptionErreur & "Date dans le futur; "
            End If
        Else
            flagErreur = "INVALIDÉ"
            descriptionErreur = descriptionErreur & "Date invalide; "
        End If
        ' Vérifier la présence de caractères spéciaux dans l'ID produit (seulement alphanumériques autorisés)
        If Not ws.Cells(i, 1).Value Like "*[A-Za-z0-9]*" Then
            flagErreur = "INVALIDÉ"
            descriptionErreur = descriptionErreur & "Caractères spéciaux dans l'ID produit; "
        End If
        ' Sortir les Flags d'erreur et les descriptions dans les colonnes
        ws.Cells(i, 4).Value = flagErreur
        ws.Cells(i, 5).Value = descriptionErreur
        ' Compter les validés et invalidés pour le rapport
        If flagErreur = "VALIDÉ" Then
            compteurValides = compteurValides + 1
        Else
            compteurInvalides = compteurInvalides + 1
        End If
    Next i
    ' Afficher le rapport récapitulatif
    rapportErreur = "Résumé du Contrôle de Qualité" & vbCrLf
    rapportErreur = rapportErreur & "Total des Enregistrements : " & derniereLigne - 1 & vbCrLf
    rapportErreur = rapportErreur & "Validés : " & compteurValides & vbCrLf
    rapportErreur = rapportErreur & "Invalides : " & compteurInvalides & vbCrLf
    rapportErreur = rapportErreur & "Vérification QC effectuée le " & Now & vbCrLf
    MsgBox rapportErreur, vbInformation, "Rapport QC"
End Sub

Explication du Code :
1. Configuration :

  • La feuille de travail (ws) est définie, et la dernière ligne de données est déterminée dynamiquement en fonction du contenu de la colonne A.
  • Des colonnes sont créées pour les flags d’erreur (colonne D) et les descriptions d’erreur (colonne E).

2. Logique de vérification :

    • Le code parcourt chaque ligne de la plage de données (de la ligne 2 à la dernière ligne de données).
    • Pour chaque ligne, il vérifie :
      • Doublons dans l’ID produit : Si l’ID produit apparaît plus d’une fois, il est signalé.
      • Quantité : Si la quantité n’est pas un nombre positif, elle est signalée.
      • Date de production : Si la date est dans le futur, elle est signalée.
      • Caractères spéciaux dans l’ID produit : Vérifie si l’ID produit contient uniquement des caractères alphanumériques.

3. Sortie :

  • Les flags (« VALIDÉ » ou « INVALIDÉ ») sont inscrits dans la colonne D.
  • Les descriptions des erreurs sont inscrites dans la colonne E.
  • Après avoir vérifié toutes les lignes, un rapport récapitulatif est généré et affiché dans une boîte de message, indiquant combien d’enregistrements ont été validés et combien ont échoué.

4. Flexibilité :

  • Ce code peut être facilement ajusté en ajoutant ou en modifiant les vérifications QC, ou en changeant la plage de données si la structure de la feuille change.

Sortie :

  • Flags d’erreur dans la colonne D : « VALIDÉ » ou « INVALIDÉ » pour chaque ligne.
  • Descriptions des erreurs dans la colonne E : Explication des problèmes dans la ligne (par exemple, « ID produit en double », « Quantité invalide »).
  • Rapport récapitulatif dans une boîte de message : Un résumé indiquant combien d’enregistrements ont été validés et combien ont échoué, avec des détails spécifiques sur les échecs.

Cette solution peut être facilement personnalisée pour répondre aux différents besoins des entreprises. Elle permet de simplifier le processus de vérification de la qualité des données, en particulier dans des environnements où l’exactitude est cruciale. Vous pouvez modifier les vérifications ou en ajouter d’autres selon les spécificités de votre jeu de données.

Facebook
Twitter
LinkedIn
WhatsApp
Email
Print
0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x