Tri de données par mois et somme des valeurs

gerard55

XLDnaute Occasionnel
Bonjour à tous
J'ai des données dans un fichier. Ces données sont enregistrées dans une petite base de donnée en fonction de la date du jour de l'achat. Je voudrais pouvoir visualiser un mois à la fois (celui que je souhaite) et pouvoir faire le total des débits et crédit sur le mois. Parallèlement, les enregistrements continuent d'être fait sur la même base de données. J'ai utilisé la formule "sommeprod" le problème s'est qu'il ne reconnait pas le mois si l'indique dans la base de donnée le format personnalisé "m".
Je joins un fichier pour que ce soit plus clair
Merci pour vos suggestions
a+
 

Pièces jointes

  • Gestion cptes.zip
    26.4 KB · Affichages: 45

david84

XLDnaute Barbatruc
Re : Tri de données par mois et somme des valeurs

Bonjour, salut Jean-Marcel,
en transformant ta plage de données en tableau (appelé liste sous Excel 2003), et en ajoutant une ligne de sous-totaux, tu arrives normalement au résultat escompté.
A+
 

Pièces jointes

  • Copie de Gestion cptes-1.xls
    165.5 KB · Affichages: 72

gerard55

XLDnaute Occasionnel
Re : Tri de données par mois et somme des valeurs

Bonjour, salut Jean-Marcel,
en transformant ta plage de données en tableau (appelé liste sous Excel 2003), et en ajoutant une ligne de sous-totaux, tu arrives normalement au résultat escompté.
A+

Merci Jean Marcel et David84 pour vos réponses.
Pourquoi le critère 109 dans la formule sous.total apparement si je mets 9 ça marche aussi.
Une autre question: Peut-on faire une macro qui effectuerai un tri en fonction du n° du mois et ce numéro serait spécifié dans une cellules comme le code ci-dessous où j'ai indiqué le critère en "a1" mais ça ne marche pas.
Rows("2:2").Select
Selection.AutoFilter
ActiveSheet.Range("$A$2:$M$16").AutoFilter Field:="1", Criteria1:="(a1)"
Merci d'avance
a+
 

david84

XLDnaute Barbatruc
Re : Tri de données par mois et somme des valeurs

Re, salut Cisco,
9 : comprend les valeurs masquées
109 : ignore les valeurs masquées
NB : ne pas confondre valeur filtrée et valeur masquée.
Concernant la macro, quelle serait son intérêt puisque tu peux filtrer directement sur la colonne date ? Il me semble que cela te ferait double-emploi...
A+
 

gerard55

XLDnaute Occasionnel
Re : Tri de données par mois et somme des valeurs

Re, salut Cisco,
9 : comprend les valeurs masquées
109 : ignore les valeurs masquées
NB : ne pas confondre valeur filtrée et valeur masquée.
Concernant la macro, quelle serait son intérêt puisque tu peux filtrer directement sur la colonne date ? Il me semble que cela te ferait double-emploi...
A+

Oui, je suis d'accord que cela ferait double emploi. Mais c'est pour permettre au utilisateur qui ne maîtrise pas bien excel d'effectuer cette opération de tri en cliquant sur le bouton, plutôt que d'utiliser la fonction tri qui tantôt est affichée tantôt ne l'est pas. Ce serait plus simple ainsi.
a+
 

david84

XLDnaute Barbatruc
Re : Tri de données par mois et somme des valeurs

Re
1er essai non exhaustif fait avec l'enregistreur de macro, juste pour voir si c'est ce que tu veux. Faire varier la liste déroulante en A1.
A+
 

Pièces jointes

  • Copie de Gestion cptes-1-2.xls
    175.5 KB · Affichages: 59
  • Copie de Gestion cptes-1-2.xls
    175.5 KB · Affichages: 63
  • Copie de Gestion cptes-1-2.xls
    175.5 KB · Affichages: 61

david84

XLDnaute Barbatruc
Re : Tri de données par mois et somme des valeurs

Re
une version un peu plus élaborée mélangeant macro et formule.
Sélectionner le nombre en A1. Pour faire apparaître tout le tableau, faire apparaître ou disparaître les filtres, double-clic en A1.
J'attends maintenant ton retour (on peut par exemple obtenir les éléments de la liste en A1 par VBA plutôt que par formule par ex).
A+
 

Pièces jointes

  • Copie de Gestion cptes-1-2.xls
    184.5 KB · Affichages: 70
  • Copie de Gestion cptes-1-2.xls
    184.5 KB · Affichages: 72
  • Copie de Gestion cptes-1-2.xls
    184.5 KB · Affichages: 73
Dernière édition:

gerard55

XLDnaute Occasionnel
Re : Tri de données par mois et somme des valeurs

Re
une version un peu plus élaborée mélangeant macro et formule.
Sélectionner le nombre en A1. Pour faire apparaître tout le tableau, faire apparaître ou disparaître les filtres, double-clic en A1.
J'attends maintenant ton retour (on peut par exemple obtenir les éléments de la liste en A1 par VBA plutôt que par formule par ex).
A+

Merci David84
j'ai essayé d'adapter la deuxième solution. j'ai un bug sur la ligne suivante:
ActiveSheet.ListObjects("Tableau1").Range.AutoFilter Field:=1, Criteria1:= _
[A1]
J'ai bien créé la zone nommée Tableau1. A l'inverse, je n'ai pas utilisé la formule pour les numéros de mois. j'ai créé une liste avec les 12 n° de mois et j'ai fait une validation de liste en cellule A1. Je ne pense pa qu'il y ait un rapport
Si vous avez une idée, elle m'intéresse.
a +
 

gerard55

XLDnaute Occasionnel
Re : Tri de données par mois et somme des valeurs

Merci David84
j'ai essayé d'adapter la deuxième solution. j'ai un bug sur la ligne suivante:
ActiveSheet.ListObjects("Tableau1").Range.AutoFilter Field:=1, Criteria1:= _
[A1]
J'ai bien créé la zone nommée Tableau1. A l'inverse, je n'ai pas utilisé la formule pour les numéros de mois. j'ai créé une liste avec les 12 n° de mois et j'ai fait une validation de liste en cellule A1. Je ne pense pa qu'il y ait un rapport
Si vous avez une idée, elle m'intéresse.
a +

j'ai me message suivant: Erreur d'exécution "9"
L'indice nappartient pas à la sélection
Gérard A +
 

david84

XLDnaute Barbatruc
Re : Tri de données par mois et somme des valeurs

Re
Sûrement dû au fait que je suis sur 2007.
Remplacer le code existant dans la feuille Compte par celui ci-dessous et me dire ce qu'il en est :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim DerLigne As Long
    Application.ScreenUpdating = False
    If Not Intersect(Selection, [A1]) Is Nothing Then
        With Sheets("Comptes")
            DerLigne = .Range("I" & .Rows.Count).End(xlUp).Row
            DerLigne = DerLigne - 1
            .[B2].AutoFilter
            .Range("A2:I" & DerLigne).AutoFilter Field:=1, Criteria1:=[A1]
        End With
    End If
    Application.ScreenUpdating = True
End Sub
Sinon, à moins que quelqu'un d'autre ne puisse t'aider, enregistre ta macro via l'enregistreur de macro pour que je puisse voir la syntaxe propre à la version 2003.
A+
 
Dernière édition:

Statistiques des forums

Discussions
312 047
Messages
2 084 864
Membres
102 689
dernier inscrit
moshe yaacov abnaim