Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

cumulo_groupus by VBA

16 réponses
Avatar
Circé
Bonjour à tous,

J'ai un problème dans un classeur type usine à gaz... Mais je vais
tâcher d'être concise...

Voilà, j'ai un tableau composé de deux colonnes (récupéré après avoir
appliqué un filtre élaboré sur mon usine à gaz) : une colonne de date,
et une colonne montant.
Les dates sont des dates situées entre 1er janvier et 31 décembre de la
même année.
Ça ressemble à ça :

date montant
20 janvier 2008 200000
15 mars 2008 150000
25 mars 2008 100000
10 juin 2008 100000
25 juin 2008 200000
etc.

Je souhaiterais, par macro, grouper et cumuler par mois de façon à
obtenir :

janvier 2008 200000
février 2008 200000
mars 2008 450000
avril 2008 450000
mai 2008 450000
juin 2008 750000
etc.

J'espère que c'est clair... Le but du jeu étant de faire un graph
compararatif entre le réalisé et le prévisionnel (que j'ai dans un
autre tableau) au fur et à mesure que l'année avance.
Pour grouper par mois, un TCD ferait bien l'affaire... Mais je ne pense
pas qu'on puisse par la même occasion faire un cumul... Ou bien je me
trompe ???

A vrai dire, je ne sais pas par où attraper le problème... Un bon coup
de pouce de votre part me paraît essentiel !!

Merci à tous et bonne journée ;)

Circé
http://faqword.free.fr

6 réponses

1 2
Avatar
FFO
Rebonjours à toi

comme tout un chacun je viens défendre ma proposition

Telle que décrite à savoir

Avec en Feuil1
Colonna A tes dates
Colonne B tes montants
Colonne C les mois
Colonne D les totaux

Elle fonctionne à merveille chez moi

a moins de ne pas avoir le même Excel ce que je ne pense pas la difficulté
chez toi ne peux résider qu'en la qualité de tes données

Je te propose de partir sur un classeur vierge
En feuil1 mettre
Colonne A tes dates en respectant scrupuleusement leur forme que tu as
décrite ( 20 janvier 2008) Attention pour obtenir ce format les cellules de
cette colonne doivent être impérativement en format texte si non l'on obtiend
au final 20 janv 2008 ce qui n'est pas bon

Colonne B tes montants en chiffre
Crées une macro dans laquelle tu insères mon code
Tu dois avoir

Colonne C les mois
Colonne D les totaux

Comme le dit si bien ce vielle adage :

Aux même causes les même effets

Celà doit une fois de plus ici se vérifier

Je t'envoie sur ce lien mon fichier avec tes données et ma macro
Fais plusieurs essais en supprimant à chaque fois les résultats colonne D

http://www.cijoint.fr/cij48936122433920.xls

Dis moi !!!!


Re...

Malgré l'heure avancée, j'ai quand même regardé...

Alors la solution de Camille qui passe par la formule est presque ça,
sauf que ça cumule depuis le début... Alors ça grossit vite !!!

A savoir que février = février + janvier
que mars = mars + février

mais que mars n'est pas égal à mars + février + janvier... ;)))
Camille, steuplait, tu peux regarder ?

Quant à la solution de FFO, euh... tout d'abord ça plante sur les
plages, mébon j'ai rétabli, et ensuite en dehors de me lister les mois
de janvier à décembre, ça ne fait rien d'autre !!!!

Les autres idées seront les bienvenues...
Bonne nuit, et bonjour ! ;)

Circé
http://faqword.free.fr


Le 06/12/2007, Circé a supposé :
Bonsoir,

Merci à tous pour vos solutions et désolée pour ma réponse tardive... Pas eu
le temps de tester encore, je suis passée à autre chose.

Je vais tâcher de regarder ça de plus près demain.

Pour répondre à Misange : Oui, VBA obligatoire, il s'agit juste d'un élément
faisant partie d'un projet assez lourd, et de plus, c'est quelque chose qui
doit revenir très souvent.

Pour MichDenis, oui j'ai bien pensé au TCD, mais si ça groupe, ça ne cumule
pas (à ma connaissance).... Me trompe-je ?

Circé
http://faqword.free.fr


Circé avait écrit le 04/12/2007 :
Bonjour à tous,

J'ai un problème dans un classeur type usine à gaz... Mais je vais tâcher
d'être concise...

Voilà, j'ai un tableau composé de deux colonnes (récupéré après avoir
appliqué un filtre élaboré sur mon usine à gaz) : une colonne de date, et
une colonne montant.
Les dates sont des dates situées entre 1er janvier et 31 décembre de la
même année.
Ça ressemble à ça :

date montant
20 janvier 2008 200000
15 mars 2008 150000
25 mars 2008 100000
10 juin 2008 100000
25 juin 2008 200000
etc.

Je souhaiterais, par macro, grouper et cumuler par mois de façon à obtenir
:

janvier 2008 200000
février 2008 200000
mars 2008 450000
avril 2008 450000
mai 2008 450000
juin 2008 750000
etc.

J'espère que c'est clair... Le but du jeu étant de faire un graph
compararatif entre le réalisé et le prévisionnel (que j'ai dans un autre
tableau) au fur et à mesure que l'année avance.
Pour grouper par mois, un TCD ferait bien l'affaire... Mais je ne pense pas
qu'on puisse par la même occasion faire un cumul... Ou bien je me trompe
???

A vrai dire, je ne sais pas par où attraper le problème... Un bon coup de
pouce de votre part me paraît essentiel !!

Merci à tous et bonne journée ;)

Circé
http://faqword.free.fr









Avatar
Circé
Hello,

Non, le tcd, je sais faire, mais ce n'est pas ce que je veux.

Je mets un exemple ici, c'est plus parlant.
http://cjoint.com/?mgu26xSnyP

Merci par avance.

Circé
http://faqword.free.fr


MichDenis a émis l'idée suivante :
En supposant que j'ai compris ta demande...
voir là : http://cjoint.com/?mgoa6Tu6kF



"Circé" a écrit dans le message de news:
Bonjour,


Le 06/12/2007, MichDenis a supposé :
Pour MichDenis, oui j'ai bien pensé au TCD, mais si ça groupe, ça ne
cumule pas (à ma connaissance).... Me trompe-je ?


Si j'ai suivi la donne de ta problématique, tu as extrait de ton tableau
de données 2 colonnes : Les dates et le montant.


Exact.

Un TDC cumule le total des montants pour chacun des mois de ta
colonnne "Date" lorsque tu lui demandes un regroupement par mois.
(la colonne date doit être dans un format qu'excel
reconnaît comme étant des dates)


Oui, je suis d'accord, j'ai un total par mois avec le tcd... Mais moi
je veux cumuler au fur et à mesure...

Donc, au risque de me répéter :
février = janvier + février
mars = février + mars
avril = mars + avril

etc

Décembre doit être le cumul pour l'année entière.

Circé
http://faqword.free.fr

Cela ne prend que quelques clics de souris !





Avatar
MichDenis
Et ceci : http://cjoint.com/?mgx6KHFV6v






"Circé" a écrit dans le message de news:
Hello,

Non, le tcd, je sais faire, mais ce n'est pas ce que je veux.

Je mets un exemple ici, c'est plus parlant.
http://cjoint.com/?mgu26xSnyP

Merci par avance.

Circé
http://faqword.free.fr


MichDenis a émis l'idée suivante :
En supposant que j'ai compris ta demande...
voir là : http://cjoint.com/?mgoa6Tu6kF



"Circé" a écrit dans le message de news:
Bonjour,


Le 06/12/2007, MichDenis a supposé :
Pour MichDenis, oui j'ai bien pensé au TCD, mais si ça groupe, ça ne
cumule pas (à ma connaissance).... Me trompe-je ?


Si j'ai suivi la donne de ta problématique, tu as extrait de ton tableau
de données 2 colonnes : Les dates et le montant.


Exact.

Un TDC cumule le total des montants pour chacun des mois de ta
colonnne "Date" lorsque tu lui demandes un regroupement par mois.
(la colonne date doit être dans un format qu'excel
reconnaît comme étant des dates)


Oui, je suis d'accord, j'ai un total par mois avec le tcd... Mais moi
je veux cumuler au fur et à mesure...

Donc, au risque de me répéter :
février = janvier + février
mars = février + mars
avril = mars + avril

etc

Décembre doit être le cumul pour l'année entière.

Circé
http://faqword.free.fr

Cela ne prend que quelques clics de souris !





Avatar
Modeste
Bonsour® Circé avec ferveur ;o))) vous nous disiez :

Je mets un exemple ici, c'est plus parlant.

http://cjoint.com/?mgu26xSnyP


heu ... le calcul du réalisé menssuel est erroné !!! ;o)))
mais comme ceci cela devrait aller mieux
http://cjoint.com/?mhbeu2AbE0

NB :
en colonne D on aurait pu utiliser une vraie date au format mmmm
la formule
=SOMMEPROD($B$2:$B$11*(MOIS($A$2:$A$11)<=(MOIS($D2)))
aurait alors pu etre utilisée plus logiquement ... ;o)))
@+
;o)))

Avatar
Modeste
Bonsour® Circé avec ferveur ;o))) vous nous disiez :

Je mets un exemple ici, c'est plus parlant.
http://cjoint.com/?mgu26xSnyP


je n'avais pas lu toute la ficelle ....
par macro :


Range("F2").Select
ActiveCell.FormulaR1C1 = _
"=SUMPRODUCT(R2C2:R11C2*(MONTH(R2C1:R11C1)<=(ROW()-1)))"
Selection.AutoFill Destination:=Range("F2:F13")



--
--
@+
;o)))

Avatar
Circé
Bonsoir à tous,

Et vraiment merci à vous tous(te) qui m'avez aidée...

les solutions de Modeste et de MichDenis (à qui j'ai enfin réussi à
faire passer mon message :)))) fonctionnent nickel chrome, ce qui me
laisse l'embarras du choix... Je n'avais pas pensé faire une
évenementielle ce peut être une solution intéressante qui fait que mon
extraction engendrerait automatiquement la mise à jour de ce tableau +
la mise à jour du graph...

Je réponds aussi à Camille et à FFO :

Camille, j'ai retesté ta macro. Recopiée telle quelle, elle me met
systématiquement des erreurs VALEUR... Je n'ai pas cherché plus loin vu
que j'ai mes solutions...

FFO : ta macro effectivement fonctionne parfaitement *à condition* que
les dates soient en format texte... Voilà pourquoi ça ne donnait rien
chez moi, mes dates ne sont pas du texte... J'ai compris en voyant ton
classeur...

Il me reste à vous souhaiter de passer un bon week end !
Et moi je vais dormir tranquille ! ;))))

Circé
http://faqword.free.fr



Modeste a formulé ce vendredi :
Bonsour® Circé avec ferveur ;o))) vous nous disiez :

Je mets un exemple ici, c'est plus parlant.
http://cjoint.com/?mgu26xSnyP


je n'avais pas lu toute la ficelle ....
par macro :


Range("F2").Select
ActiveCell.FormulaR1C1 = _
"=SUMPRODUCT(R2C2:R11C2*(MONTH(R2C1:R11C1)<=(ROW()-1)))"
Selection.AutoFill Destination:=Range("F2:F13")



--
--
@+
;o)))



1 2