Résumer des données en utilisant la fonction SUMIF, Excel VBA

Résumer des données en utilisant la fonction SUMIF, Excel VBA

Voici une explication détaillée ainsi qu’un code Excel VBA pour résumer des données en utilisant la fonction SUMIF.
Qu’est-ce que la fonction SUMIF ?
La fonction SUMIF dans Excel permet de faire la somme des valeurs dans une plage en fonction d’une condition spécifiée. Elle vérifie chaque valeur par rapport à un critère et additionne les valeurs correspondantes qui remplissent cette condition.
La syntaxe de la fonction SUMIF dans Excel est la suivante :
=SUMIF(plage, critère, [plage_somme])

  • plage : La plage de cellules à évaluer en fonction du critère.
  • critère : La condition à remplir pour qu’une cellule soit incluse dans la somme.
  • plage_somme (facultatif) : La plage réelle à additionner, si elle est différente de la plage d’évaluation.

Par exemple :
=SUMIF(A1:A10, "Pomme", B1:B10)
Cette formule additionne les valeurs de B1:B10 où les valeurs correspondantes dans A1:A10 sont égales à « Pomme ».
Utilisation de SUMIF en VBA
En VBA, vous pouvez automatiser la fonction SUMIF en utilisant l’objet WorksheetFunction. Voici un exemple détaillé de la façon dont vous pouvez l’implémenter :
Code VBA pour Résumer des Données avec SUMIF
Code détaillé :

Sub ResumerDonneesAvecSUMIF()
    ' Déclaration des variables nécessaires
    Dim ws As Worksheet
    Dim plageSomme As Range
    Dim plageCritere As Range
    Dim critere As String
    Dim resultat As Double
    Dim celluleSortie As Range
    ' Définir la feuille de travail sur laquelle vous voulez travailler (ajustez selon votre feuille spécifique)
    Set ws = ThisWorkbook.Sheets("Feuil1")
    ' Définir la plage à sommer et la plage qui sera évaluée
    Set plageCritere = ws.Range("A2:A10")  ' Plage avec les critères (par exemple, les catégories)
    Set plageSomme = ws.Range("B2:B10")    ' Plage avec les valeurs à sommer
    ' Définir le critère (vous pouvez le changer selon vos besoins)
    critere = "Pomme"  ' Par exemple, on veut additionner toutes les valeurs de la colonne B où la colonne A est "Pomme"
    ' Utiliser la fonction WorksheetFunction pour appliquer SUMIF
    resultat = Application.WorksheetFunction.SumIf(plageCritere, critere, plageSomme)
    ' Définir la cellule de sortie (où le résultat sera affiché)
    Set celluleSortie = ws.Range("D2")
    ' Afficher le résultat dans la cellule définie
    celluleSortie.Value = resultat
    ' Optionnel : Afficher une boîte de message pour confirmer l'action
    MsgBox "La somme totale pour le critère '" & critere & "' est : " & resultat, vbInformation, "Calcul SUMIF"
End Sub

Explication du Code :
1. Déclaration des Variables :

  • ws est une variable représentant la feuille de travail sur laquelle vous travaillez.
  • plageSomme et plageCritere représentent les plages de cellules à sommer et celles à évaluer par rapport au critère.
  • critere est la condition à remplir (dans ce cas, « Pomme »).
  • resultat contient le résultat de l’opération SUMIF.
  • celluleSortie représente la cellule dans laquelle le résultat sera affiché.

2. Définition de la Feuille et des Plages :

  • La variable ws est définie sur une feuille spécifique (ici « Feuil1 »). Vous pouvez remplacer « Feuil1 » par le nom réel de votre feuille.
  • plageCritere est définie comme la plage de cellules à évaluer (par exemple, A2:A10).
  • plageSomme est définie comme la plage de cellules dont les valeurs seront sommées (par exemple, B2:B10).

3. Définition du Critère :

  • Le critère est défini comme « Pomme », ce qui signifie que le code va additionner les valeurs de B2:B10 où la valeur correspondante dans A2:A10 est « Pomme ».

4. Utilisation de SUMIF :

    • La fonction Application.WorksheetFunction.SumIf(plageCritere, critere, plageSomme) effectue le calcul de la somme.
      • Elle vérifie chaque valeur dans plageCritere (A2:A10) pour voir si elle correspond au critère (ici « Pomme »).
      • Si une valeur remplit le critère, elle additionne la valeur correspondante dans plageSomme (B2:B10).

5. Affichage du Résultat :

  • Le résultat de la somme est placé dans la cellule D2 de la feuille de travail (vous pouvez ajuster cela selon vos besoins).

6. Boîte de Message Optionnelle :

  • Une boîte de message apparaît pour confirmer à l’utilisateur le résultat du calcul.

Comment Utiliser le Code :
1. Ouvrez Excel et appuyez sur Alt + F11 pour ouvrir l’éditeur VBA.
2. Insérez un nouveau module en cliquant sur Insertion > Module.
3. Copiez et collez le code VBA dans le module.
4. Fermez l’éditeur VBA.
5. Retournez sur votre feuille Excel et appuyez sur Alt + F8 pour exécuter la macro ResumerDonneesAvecSUMIF.
Le code va alors additionner les valeurs de la colonne B où la colonne A contient « Pomme » et afficher le résultat dans la cellule D2.
Conclusion :
Ce code VBA permet d’automatiser l’utilisation de la fonction SUMIF dans Excel pour résumer des données en fonction d’un critère donné. En modifiant le critere et en ajustant les plages de données, vous pouvez facilement personnaliser cette solution pour différents scénarios de résumé de données.

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