[Vba Excel] Somme par rapport à une date

Résolu
whoppinie Messages postés 6 Date d'inscription   Statut Membre -  
whoppinie Messages postés 6 Date d'inscription   Statut Membre -
Bonjour,

Je voudrais établir un "tableau de bord".
J'ai une feuille par "agence", dans chaque feuille j'ai une liste de commandes passées.

Dans mon tableau final, je voudrais récupérer par mois la somme totale des commandes.

Donc faire d'abord une recherche par date dans chaque feuille, puis qu'il additionne les valeurs trouvées. Et qu'au final dans mon tableau, j'ai le montant des dépenses mensuelles par agence.

Quelqu'un a-t- il une solution ?

Merci d'avance pour votre aide !
Configuration: Windows XP
Internet Explorer 6.0

3 réponses

  1. irem
     
    je ne vois pas trop quel est le probleme, as-tu essayé via les filtres ou les sous-totaux?

    Aurais-tu un fichier d'exemple pour mieux voir le pb?

    Irem
    0
  2. whoppinie Messages postés 6 Date d'inscription   Statut Membre 1
     
    nan les filtres ça ne marche pas (le tableau de bord est sur une autre feuille) et les sous totaux non plus puisque c'est en fonction d'une période que je veux récupérer les infos et pas d'une catégorie (je me trompe peut-être, ça peut peut etre marcher mais je ne sais pas faire dans ce cas)

    Comment je peux faire pour ajouter une image (exemple de classeur) au sujet ? (par mail ? messagerie ?)
    0
  3. whoppinie Messages postés 6 Date d'inscription   Statut Membre 1
     
    Bon ayé j'ai trouvé la solution. Pour ceux qui se poseraient la question voici le code vba appliqué :

    Private Sub DépensesMensuelles(code_agence As String, mois As Integer, cellule As Range)
    ' Mise à jour des dépenses mensuelles
    ' Paramètres :
    ' code_agence : Code de l'agence correspondant au nom de la feuille Excel
    ' mois : Mois dont on veut calculer le total des dépenses
    ' cellule : Cellule où copier le total

    Dim total_depenses As Double
    total_depenses = 0

    Dim feuille_agence As Worksheet
    Set feuille_agence = Sheets(code_agence)

    ' 1ère date de dépense de l'agence
    Dim date_depense As Range
    Set date_depense = feuille_agence.Range("A9")

    Do While date_depense <> ""
    Dim depense As Date

    depense = date_depense.Value
    ' Vérification que le mois correspond
    If Month(depense) = mois And Year(depense) = 2007 Then
    ' Si un montant est présent => Ajout au total des dépenses
    If date_depense.Offset(0, 7).Value <> "" Then
    total_depenses = total_depenses + date_depense.Offset(0, 7).Value
    End If
    End If
    Set date_depense = date_depense.Offset(1, 0)
    Loop
    ' Copie du total dans la cellule passée en paramètre
    cellule.Value = total_depenses
    End Sub

    Private Sub MajDepenseagence(code_atm As String, cellule_depart As Range)
    '
    DépensesMensuelles code_agence, 1, cellule_depart
    DépensesMensuelles code_agence, 2, cellule_depart.Offset(0, 1)
    DépensesMensuelles code_agence, 3, cellule_depart.Offset(0, 2)
    DépensesMensuelles code_agence, 4, cellule_depart.Offset(0, 3)
    DépensesMensuelles code_agence, 5, cellule_depart.Offset(0, 4)
    DépensesMensuelles code_agence, 6, cellule_depart.Offset(0, 5)
    DépensesMensuelles code_agence, 7, cellule_depart.Offset(0, 6)
    DépensesMensuelles code_agence, 8, cellule_depart.Offset(0, 7)
    DépensesMensuelles code_agence, 9, cellule_depart.Offset(0, 8)
    DépensesMensuelles code_agence, 10, cellule_depart.Offset(0, 19)
    DépensesMensuelles code_agence, 11, cellule_depart.Offset(0, 10)
    DépensesMensuelles code_agence, 12, cellule_depart.Offset(0, 11)

    End Sub

    Private Sub BtnMaJRecap_Click()
    ' Mise à jour de chaque agence
    MajDepenseagence "77", Range("B26")
    MajDepenseagence "78", Range("B27")
    MajDepenseagence "91", Range("B28")

    End Sub
    0