Automatisez la surveillance et l’analyse des données environnementales, Excel VBA

Automatiser la surveillance et l’analyse des données environnementales dans Excel en utilisant VBA (Visual Basic for Applications) peut être un excellent moyen de gérer, suivre et analyser des données liées à l’environnement (température, qualité de l’air, humidité, etc.). Je vais vous donner un code VBA détaillé, accompagné d’explications, pour effectuer cette tâche.

Objectif

Nous allons créer un script VBA qui permet :

  1. D’importer des données environnementales depuis un fichier externe (par exemple, un fichier CSV ou une API).
  2. De surveiller ces données en temps réel pour détecter des anomalies (par exemple, des niveaux de pollution ou des températures trop élevées).
  3. D’analyser les données et de générer un rapport.

Préparer le fichier Excel

Avant de commencer à écrire le code VBA, voici la structure de votre fichier Excel :

  • Feuille « Données » : Contiendra les données environnementales brutes (par exemple, température, qualité de l’air, humidité).
  • Feuille « Analyse » : Affichera les résultats de l’analyse (moyennes, anomalies, alertes).

Voici un exemple de disposition des colonnes dans la feuille « Données » :

Date Température (°C) Humidité (%) Qualité de l’air (ppm)
2024-11-01 20.5 60 25
2024-11-02 21.0 58 30

Et dans la feuille « Analyse », vous pourrez afficher les résultats comme suit :

Analyse Valeur
Température moyenne 20.75
Humidité moyenne 59
Anomalies détectées Oui

Code VBA pour automatiser la surveillance et l’analyse

Voici un exemple de code VBA pour importer, surveiller et analyser les données :

Sub AutomatiserSurveillance()
    ' Déclarations des variables
    Dim wsDonnees As Worksheet
    Dim wsAnalyse As Worksheet
    Dim dernLigne As Long
    Dim tempTotale As Double
    Dim humiditeTotale As Double
    Dim qualiteAirTotale As Double
    Dim nbEnregistrements As Long
    Dim seuilTemp As Double
    Dim seuilQualiteAir As Double
    Dim anomalies As String
    Dim i As Long
    ' Initialiser les feuilles
    Set wsDonnees = ThisWorkbook.Sheets("Données")
    Set wsAnalyse = ThisWorkbook.Sheets("Analyse")
    ' Trouver la dernière ligne de données dans la feuille "Données"
    dernLigne = wsDonnees.Cells(wsDonnees.Rows.Count, 1).End(xlUp).Row
    ' Initialiser les variables pour les calculs
    tempTotale = 0
    humiditeTotale = 0
    qualiteAirTotale = 0
    nbEnregistrements = 0
    anomalies = ""
    ' Définir les seuils d'alerte pour les données (par exemple)
    seuilTemp = 30 ' Seuil de température en °C
    seuilQualiteAir = 50 ' Seuil de qualité de l'air en ppm
    ' Boucle pour parcourir toutes les données et effectuer les calculs
    For i = 2 To dernLigne ' Commencer à la ligne 2 (en supposant que la ligne 1 contient les en-têtes)
        ' Accéder aux valeurs de chaque colonne
        Dim temperature As Double
        Dim humidite As Double
        Dim qualiteAir As Double
        temperature = wsDonnees.Cells(i, 2).Value
        humidite = wsDonnees.Cells(i, 3).Value
        qualiteAir = wsDonnees.Cells(i, 4).Value
        ' Calculer la somme des valeurs pour les moyennes
        tempTotale = tempTotale + temperature
        humiditeTotale = humiditeTotale + humidite
        qualiteAirTotale = qualiteAirTotale + qualiteAir
        nbEnregistrements = nbEnregistrements + 1
        ' Vérifier les anomalies par rapport aux seuils
        If temperature > seuilTemp Then
            anomalies = anomalies & "Température trop élevée le " & wsDonnees.Cells(i, 1).Value & vbCrLf
        End If
        If qualiteAir > seuilQualiteAir Then
            anomalies = anomalies & "Qualité de l'air trop élevée le " & wsDonnees.Cells(i, 1).Value & vbCrLf
        End If
    Next i
    ' Calcul des moyennes
    Dim tempMoyenne As Double
    Dim humiditeMoyenne As Double
    Dim qualiteAirMoyenne As Double
    tempMoyenne = tempTotale / nbEnregistrements
    humiditeMoyenne = humiditeTotale / nbEnregistrements
    qualiteAirMoyenne = qualiteAirTotale / nbEnregistrements
    ' Afficher les résultats dans la feuille "Analyse"
    wsAnalyse.Cells(2, 2).Value = tempMoyenne
    wsAnalyse.Cells(3, 2).Value = humiditeMoyenne
    wsAnalyse.Cells(4, 2).Value = qualiteAirMoyenne
    ' Afficher les anomalies détectées
    If anomalies = "" Then
        wsAnalyse.Cells(5, 2).Value = "Aucune anomalie détectée"
    Else
        wsAnalyse.Cells(5, 2).Value = "Anomalies détectées :"
        wsAnalyse.Cells(6, 2).Value = anomalies
    End If
    ' Message de fin
    MsgBox "Surveillance terminée. Les résultats sont affichés dans l'onglet Analyse.", vbInformation
End Sub

Explication du code

  1. Initialisation des variables :
    • Nous définissons les variables nécessaires pour stocker les données de température, d’humidité, et de qualité de l’air.
    • seuilTemp et seuilQualiteAir sont des seuils d’alerte que nous définissons pour détecter des anomalies dans les données.
  2. Boucle pour parcourir les données :
    • Le code commence à la ligne 2 pour ignorer l’en-tête.
    • À chaque ligne, nous extrayons les valeurs de température, d’humidité et de qualité de l’air.
    • Nous calculons les totaux pour chaque paramètre afin de pouvoir calculer la moyenne plus tard.
    • Si une donnée dépasse le seuil, nous enregistrons une anomalie.
  3. Calcul des moyennes :
    • Après la boucle, nous calculons la moyenne de chaque paramètre en divisant la somme des valeurs par le nombre d’enregistrements.
  4. Affichage des résultats :
    • Les résultats des moyennes sont affichés dans la feuille « Analyse ».
    • Les anomalies détectées sont aussi listées.
  5. Message final :
    • Un message pop-up s’affiche pour indiquer que le processus est terminé.

Utilisation du code

  • Pour exécuter ce code, vous devez ouvrir l’éditeur VBA (Alt + F11), insérer un nouveau module (dans l’éditeur, cliquez sur Insertion > Module), puis coller le code dans ce module.
  • Ensuite, vous pouvez exécuter la macro en allant dans Outils > Macro > Macros, sélectionnez AutomatiserSurveillance, puis cliquez sur Exécuter.

Améliorations possibles

  • Vous pouvez adapter ce code pour importer les données depuis un fichier externe (CSV, Excel, ou API web).
  • Ajouter des graphiques pour mieux visualiser les données.
  • Automatiser la collecte des données environnementales à intervalles réguliers en utilisant un script VBA pour interroger une API ou en chargeant un fichier à partir d’une source externe.

Ce script est un bon point de départ pour automatiser la surveillance et l’analyse des données environnementales dans Excel.

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