OVH Cloud OVH Cloud

macro solution

42 réponses
Avatar
j-claude
Bonjour,


Sur une feuille de calcul (feuil1) , j'ai une cellule dont le résultat
change plusieurs fois dans la journée suivant les valeurs entrées dans d'
autres cellules.
Ce que je voudrais : récupérer dans une autre feuille(par ex feuil2) , la
dernière valeur de la journée ainsi que la dernière valeur de la journée
suivante dans une cellule sur la ligne en dessous et ainsi de suite jusqu'à
la fin du mois.
Comme il s'agit de respecter une moyenne d'encaisse , il me faudrait
également sous la dernière cellule (ou sur tte autre cellule) affichée sur
la nouvelle feuille,la moyenne des valeurs des cellules précédentes.

Le fin du fin serait que les dates s'affichent dans les cellules
adjacentes (automatiquement avec la date système).

Ainsi : feuil1 ->>>> C1 (valeur change plrs fois /jr. ; récup.dernière
valeur).

Je voudrais :

Sur feuil2 ->>>>par ex.

01/07/04 (en A1)
copie valeur de feuil1 !C1 (en B1)
02/07/04 (en A2)
copie valeur de feuil1 !C1 (en B2)
03/07/04 (en A3)
copie valeur de feuil1 !C1 (en B3
affichage dans une cellule quelconque de la
moyenne , au jour le jour , des valeurs précédentes.


J'ai cherché dans les bouquins avec ou sans lutrin (bonsoir Serge :=) ,
dans ce forum et ailleurs , mais malgré la verte couleur de l'espoir , je
fais chou blanc.


Votre aide serait la bienvenue

cordialement,

j-claude

10 réponses

1 2 3 4 5
Avatar
JpPradier
Ben alors bonnes vacances Thierry

j-p
Avatar
Jean-Claude
Merci pour tout,


Bonnes vacances !

et si à la rentrée le pb.
n'est toujours pas résolu , je reviens te voir...

Cordialement

j-claude



"JpPradier" a écrit dans le message
de news:
Ben alors bonnes vacances Thierry

j-p


Avatar
LeSteph
Bonsoir,
et si à la rentrée le pb.
n'est toujours pas résolu
Regarde ma réponse à ton message d'hier


Bonnes vacances


"Jean-Claude" a écrit dans le message de
news:
Merci pour tout,


Bonnes vacances !

et si à la rentrée le pb.
n'est toujours pas résolu , je reviens te voir...

Cordialement

j-claude



"JpPradier" a écrit dans le message
de news:
Ben alors bonnes vacances Thierry

j-p






Avatar
Jean-Claude
bonsoir,

j'essaie avec acharnement, j'avais vu ton message mais je ne voulais pas
te donner de nouvelles avant d'être parvenu à un résultat...

décidément, je dois être en dessous de ..

...la moyenne!!!

je te tiens au courant à moins que toi aussi tu ne partes en vacances??
à+
cordialement
j-claude




"LeSteph" a écrit dans le message de news:
41092d16$0$11051$
Bonsoir,
et si à la rentrée le pb.
n'est toujours pas résolu
Regarde ma réponse à ton message d'hier


Bonnes vacances


"Jean-Claude" a écrit dans le message de
news:
Merci pour tout,


Bonnes vacances !

et si à la rentrée le pb.
n'est toujours pas résolu , je reviens te voir...

Cordialement

j-claude



"JpPradier" a écrit dans le
message


de news:
Ben alors bonnes vacances Thierry

j-p










Avatar
ru-th
Dans ta BAL !
;-))

Bonne vacances
Fin des émissions
a+
rural thierry
Veaux et Broutards d'Anjou
Wicasa on kin nape yapi inahni yo (à l'essai)

"Jean-Claude" a écrit dans le message de
news:%
bonsoir,

j'essaie avec acharnement, j'avais vu ton message mais je ne voulais
pas

te donner de nouvelles avant d'être parvenu à un résultat...

décidément, je dois être en dessous de ..

...la moyenne!!!

je te tiens au courant à moins que toi aussi tu ne partes en
vacances??

à+
cordialement
j-claude










"LeSteph" a écrit dans le message de news:
41092d16$0$11051$
Bonsoir,
et si à la rentrée le pb.
n'est toujours pas résolu
Regarde ma réponse à ton message d'hier


Bonnes vacances


"Jean-Claude" a écrit dans le message de
news:
Merci pour tout,


Bonnes vacances !

et si à la rentrée le pb.
n'est toujours pas résolu , je reviens te voir...

Cordialement

j-claude



"JpPradier" a écrit dans le
message


de news:
Ben alors bonnes vacances Thierry

j-p














Avatar
j-claude
rebonsoir le steph,

enfin un bon début :

en "A" c'est bon
en "B" l'instruction de ta macro fait son travail.

en "C" j'ai tiré la formule vers le bas et ça fonctionne comme je
voulais (au changement de mois on recommence une nouvelle moyenne).

et c'est là que je comprends enfin pourquoi tu me parlais des
jours ouvrés!

en fait il faudrait enlever les dimanches , les jours fériés (et
les jrs de grève ;-).

j'ai essayé de supprimer les lignes relatives aux jours non
travaillés mais alors la formule ne colle plus (elle tient compte de la
ligne effacée).

comment faire , là aussi on est près du but...

à+


"j-claude" a écrit dans le message news:
41090f65$0$24063$
'mande pardon de m'immiscer dans le fil, sur la pointe de mes bottes
,(car , moi aussi je suis un rural).

juste pour savoir si tu as testé la dernière macro, car
chez

moi, j'ai beau mettre un peu de poésie dedans , il y a la partie suivante
qui ne rime pas avec le reste:
'moyenne du mois en C
repa = Month(.Range("a" & ligne))
repb = Year(.Range("a" & ligne))
.Range("c" & ligne) = _
Evaluate("sumproduct((month(feuil2!A1:a65000)=" & repa &
" )*(year(feuil2!A1:a65000)=" & repb & " ) *(feuil2!b1:b65000))/
sumproduct((month(feuil2!A1:a65000)=" & repa &
")*(year(feuil2!A1:a65000)=" & repb & "))")



j'ai beau tenter les césures mais au bout c'est toujours
la

déconfiture (dans ma rurale lorraine , celle de groseilles est d'ailleurs
pas mal, cette année ;-)

en fait , la colonne "c" reste vide...

il y a des messages d'erreur sur sumproduct et d'autres...


Rappel : on est bien d'accord même si tu sembles réticent au manque de
poésie d'une encaisse (normal puisqu'il n'y a ni Rimbaud ni Baudelaire que
ça a inspiré).

en "A" la date OK

en "B" la dernière valeur du jour OK

en "C" la moyenne des valeurs des cellules précédentes du
mois "EN COURS".(ainsi le 1 aout , le compteur de la moyenne doit se
remettre à 0. pas
OK

en "D" ton average est optionnel car ça me donne la moyenne
de

TOUT ce qui précède. je prends qd. même.




j'insiste un peu car comme diraient certains gardiens:
dans notre métier on est si près du...


à+ ???


























"AV" a écrit dans le message news:

t'as lu la dernière phrase ?


Achhh... j'étais même pas arrivé jusque là, tellement la surprise......

AV









Avatar
LeSteph
ben oui , les vacances!
mais c'est presque gagné, je vois pour ta solution,
on remplace l'évaluation du diviseur en nombre de jours par la formule
nb.jours.ouvrés applicable à la date de chaque ligne.
T'auras juste le boulot du troisième paramêtre.
Cherche la formule dans l'aide tu vas comprendre!
Je regarde cela , à demain .
Sinon regarde Thierry à l'air de proposer un truc qui pour l'heure excède
la situation critique de mes neurones.
Je me demande si on va pas reprendre tout dans la macro .
A+

LeSteph

"Jean-Claude" a écrit dans le message de
news:
bonsoir,

j'essaie avec acharnement, j'avais vu ton message mais je ne voulais
pas

te donner de nouvelles avant d'être parvenu à un résultat...

décidément, je dois être en dessous de ..

...la moyenne!!!

je te tiens au courant à moins que toi aussi tu ne partes en
vacances??

à+
cordialement
j-claude




"LeSteph" a écrit dans le message de news:
41092d16$0$11051$
Bonsoir,
et si à la rentrée le pb.
n'est toujours pas résolu
Regarde ma réponse à ton message d'hier


Bonnes vacances


"Jean-Claude" a écrit dans le message de
news:
Merci pour tout,


Bonnes vacances !

et si à la rentrée le pb.
n'est toujours pas résolu , je reviens te voir...

Cordialement

j-claude



"JpPradier" a écrit dans le
message


de news:
Ben alors bonnes vacances Thierry

j-p














Avatar
j-claude
sinon bonnes vacances ,

au moins bonne nuit !

(je bosse demain tte la journée, je reprends le tout samedi)


à+















"j-claude" a écrit dans le message news:
41095c1c$0$1896$
rebonsoir le steph,

enfin un bon début :

en "A" c'est bon
en "B" l'instruction de ta macro fait son travail.

en "C" j'ai tiré la formule vers le bas et ça fonctionne comme
je

voulais (au changement de mois on recommence une nouvelle moyenne).

et c'est là que je comprends enfin pourquoi tu me parlais des
jours ouvrés!

en fait il faudrait enlever les dimanches , les jours fériés
(et

les jrs de grève ;-).

j'ai essayé de supprimer les lignes relatives aux jours non
travaillés mais alors la formule ne colle plus (elle tient compte de la
ligne effacée).

comment faire , là aussi on est près du but...

à+


"j-claude" a écrit dans le message news:
41090f65$0$24063$
'mande pardon de m'immiscer dans le fil, sur la pointe de mes bottes
,(car , moi aussi je suis un rural).

juste pour savoir si tu as testé la dernière macro, car
chez

moi, j'ai beau mettre un peu de poésie dedans , il y a la partie
suivante


qui ne rime pas avec le reste:
'moyenne du mois en C
repa = Month(.Range("a" & ligne))
repb = Year(.Range("a" & ligne))
.Range("c" & ligne) = _
Evaluate("sumproduct((month(feuil2!A1:a65000)=" & repa &
" )*(year(feuil2!A1:a65000)=" & repb & " ) *(feuil2!b1:b65000))/
sumproduct((month(feuil2!A1:a65000)=" & repa &
")*(year(feuil2!A1:a65000)=" & repb & "))")



j'ai beau tenter les césures mais au bout c'est
toujours


la
déconfiture (dans ma rurale lorraine , celle de groseilles est
d'ailleurs


pas mal, cette année ;-)

en fait , la colonne "c" reste vide...

il y a des messages d'erreur sur sumproduct et d'autres...


Rappel : on est bien d'accord même si tu sembles réticent au manque de
poésie d'une encaisse (normal puisqu'il n'y a ni Rimbaud ni Baudelaire
que


ça a inspiré).

en "A" la date
OK



en "B" la dernière valeur du jour OK

en "C" la moyenne des valeurs des cellules précédentes
du


mois "EN COURS".(ainsi le 1 aout , le compteur de la moyenne doit se
remettre à 0.
pas


OK

en "D" ton average est optionnel car ça me donne la
moyenne


de
TOUT ce qui précède. je prends qd.
même.






j'insiste un peu car comme diraient certains gardiens:
dans notre métier on est si près du...


à+ ???


























"AV" a écrit dans le message news:

t'as lu la dernière phrase ?


Achhh... j'étais même pas arrivé jusque là, tellement la
surprise......




AV













Avatar
LeSteph
Bonjour,

Et ben voila:
***
D'abord tu vérifies que dans
Outils/MacroComplémentaire
Utilitaire d'analyse et Utilitaire d'analyseVBA sont cochés
Sinon charger les .Xla correspondantes depuis ton CD d'origine.

Ainsi, NB.JOURS.OUVRES doit être disponible dans les fonctions de Dates
***
Ensuite ligne titres:
A B C D
E
Date du jour Montant moyenne NbJours Férié

.....

En c2: ²
En d2: =SI(OU(B2=0;B2="");0;1)
.....
En c3: =SI(B3<>"";SI(MOIS(A2)<>MOIS(A3);B3;((C2*D2)+(B3))/D3);"")
En d3: =NB.JOURS.OUVRES("01/"&MOIS(A3)&"/"&ANNEE(A3);A3;E3)
Ces deux dernières sont à recopier vers le bas
.....
La colonne E te servira à saisir les dates fériées (outre les samedi
dimanche)
(on aurait pu aussi utiliser une matrice)
*****
Juste un Hic il faut taper 0 dans les Samedi Dimanche vu que la macro
n'opérera pas ces jours là
***
Voici ce que cela donne:
mar 13/07/2004 153,89 549,02 9,00
mer 14/07/2004 0,00 549,02 9,00 14/07/2004
jeu 15/07/2004 485,22 493,31 11,00
ven 16/07/2004 263,53 474,16 12,00
sam 17/07/2004 0,00 474,16 12,00
dim 18/07/2004 0,00 474,16 12,00
lun 19/07/2004 110,11 446,15 13,00
mar 20/07/2004 286,92 434,78 14,00
mer 21/07/2004 891,22 465,21 15,00
jeu 22/07/2004 21,11 437,45 16,00
ven 23/07/2004 164,29 421,38 17,00
sam 24/07/2004 0,00 421,38 17,00
dim 25/07/2004 0,00 421,38 17,00
lun 26/07/2004 712,46 437,56 18,00
mar 27/07/2004 771,55 455,13 19,00
mer 28/07/2004 273,28 446,04 20,00
jeu 29/07/2004 733,67 459,74 21,00
ven 30/07/2004 461,35 459,81 22,00
sam 31/07/2004 0,00 459,81 22,00
dim 01/08/2004 0,00 0,00 0,00
lun 02/08/2004 232,92 232,92 1,00
mar 03/08/2004 845,15 539,03 2,00


Si ça le fait , c'est que j'ai compris et je verrais au retour
comment transformer tout cela en une Macro
Samedi je serai encore là et après...
oui je crois que les vacances seront appréciées...
..je remplis d'avance ma colonne E
;-D

LeSteph



"j-claude" a écrit dans le message de
news:41096493$0$1895$
sinon bonnes vacances ,

au moins bonne nuit !

(je bosse demain tte la journée, je reprends le tout samedi)


à+















"j-claude" a écrit dans le message news:
41095c1c$0$1896$
rebonsoir le steph,

enfin un bon début :

en "A" c'est bon
en "B" l'instruction de ta macro fait son travail.

en "C" j'ai tiré la formule vers le bas et ça fonctionne
comme


je
voulais (au changement de mois on recommence une nouvelle moyenne).

et c'est là que je comprends enfin pourquoi tu me parlais
des


jours ouvrés!

en fait il faudrait enlever les dimanches , les jours fériés
(et

les jrs de grève ;-).

j'ai essayé de supprimer les lignes relatives aux jours non
travaillés mais alors la formule ne colle plus (elle tient compte de la
ligne effacée).

comment faire , là aussi on est près du but...

à+


"j-claude" a écrit dans le message news:
41090f65$0$24063$
'mande pardon de m'immiscer dans le fil, sur la pointe de mes
bottes



,(car , moi aussi je suis un rural).

juste pour savoir si tu as testé la dernière macro, car
chez

moi, j'ai beau mettre un peu de poésie dedans , il y a la partie
suivante


qui ne rime pas avec le reste:
'moyenne du mois en C
repa = Month(.Range("a" & ligne))
repb = Year(.Range("a" & ligne))
.Range("c" & ligne) = _
Evaluate("sumproduct((month(feuil2!A1:a65000)=" & repa &
" )*(year(feuil2!A1:a65000)=" & repb & " ) *(feuil2!b1:b65000))/
sumproduct((month(feuil2!A1:a65000)=" & repa &
")*(year(feuil2!A1:a65000)=" & repb & "))")



j'ai beau tenter les césures mais au bout c'est
toujours


la
déconfiture (dans ma rurale lorraine , celle de groseilles est
d'ailleurs


pas mal, cette année ;-)

en fait , la colonne "c" reste vide...

il y a des messages d'erreur sur sumproduct et d'autres...


Rappel : on est bien d'accord même si tu sembles réticent au manque
de



poésie d'une encaisse (normal puisqu'il n'y a ni Rimbaud ni Baudelaire
que


ça a inspiré).

en "A" la date
OK



en "B" la dernière valeur du jour OK

en "C" la moyenne des valeurs des cellules précédentes
du


mois "EN COURS".(ainsi le 1 aout , le compteur de la moyenne doit se
remettre à 0.
pas


OK

en "D" ton average est optionnel car ça me donne la
moyenne


de
TOUT ce qui précède. je prends qd.
même.






j'insiste un peu car comme diraient certains
gardiens:



dans notre métier on est si près du...


à+ ???


























"AV" a écrit dans le message news:

t'as lu la dernière phrase ?


Achhh... j'étais même pas arrivé jusque là, tellement la
surprise......




AV

















Avatar
j-claude
bonsoir Le Steph,

merci de tes explications très détaillées.
je mets en forme demain (car aujourd'hui , la forme , je l'ai plus car
le vendredi c'est pas mal chargé au boulot;-)

tes formules vont me permettre de me perfectionner un peu plus car je
cherche bien sûr à comprendre ce que je fais.
la macro "intégrale" est plus ardue pour un presque débutant.

je crois que cette année mon voyage de vacances (en sept.) va se limiter
à explorer la galaxie "Excel".

je te souhaite d'autres découvertes tout bientôt.

penseras tu à retrouver le fil à ton retour, ou devrai je me manifester
à nouveau dans 2 ou 3 semaines?

je ne manquerai pas de progresser en essayant de créer une
colonne "V" avec 365 jrs deVacances...


à+ , sûrement à ton retour de vacances que je te souhaite
meilleures encore que celles des années passées...

je te tiens au courant.


cordialement,

j-claude

















"LeSteph" a écrit dans le message news:
410a0c8e$0$1892$
Bonjour,

Et ben voila:
***
D'abord tu vérifies que dans
Outils/MacroComplémentaire
Utilitaire d'analyse et Utilitaire d'analyseVBA sont cochés
Sinon charger les .Xla correspondantes depuis ton CD d'origine.

Ainsi, NB.JOURS.OUVRES doit être disponible dans les fonctions de Dates
***
Ensuite ligne titres:
A B C D
E
Date du jour Montant moyenne NbJours Férié

.....

En c2: ²
En d2: =SI(OU(B2=0;B2="");0;1)
.....
En c3: =SI(B3<>"";SI(MOIS(A2)<>MOIS(A3);B3;((C2*D2)+(B3))/D3);"")
En d3: =NB.JOURS.OUVRES("01/"&MOIS(A3)&"/"&ANNEE(A3);A3;E3)
Ces deux dernières sont à recopier vers le bas
.....
La colonne E te servira à saisir les dates fériées (outre les samedi
dimanche)
(on aurait pu aussi utiliser une matrice)
*****
Juste un Hic il faut taper 0 dans les Samedi Dimanche vu que la macro
n'opérera pas ces jours là
***
Voici ce que cela donne:
mar 13/07/2004 153,89 549,02 9,00
mer 14/07/2004 0,00 549,02 9,00 14/07/2004
jeu 15/07/2004 485,22 493,31 11,00
ven 16/07/2004 263,53 474,16 12,00
sam 17/07/2004 0,00 474,16 12,00
dim 18/07/2004 0,00 474,16 12,00
lun 19/07/2004 110,11 446,15 13,00
mar 20/07/2004 286,92 434,78 14,00
mer 21/07/2004 891,22 465,21 15,00
jeu 22/07/2004 21,11 437,45 16,00
ven 23/07/2004 164,29 421,38 17,00
sam 24/07/2004 0,00 421,38 17,00
dim 25/07/2004 0,00 421,38 17,00
lun 26/07/2004 712,46 437,56 18,00
mar 27/07/2004 771,55 455,13 19,00
mer 28/07/2004 273,28 446,04 20,00
jeu 29/07/2004 733,67 459,74 21,00
ven 30/07/2004 461,35 459,81 22,00
sam 31/07/2004 0,00 459,81 22,00
dim 01/08/2004 0,00 0,00 0,00
lun 02/08/2004 232,92 232,92 1,00
mar 03/08/2004 845,15 539,03 2,00


Si ça le fait , c'est que j'ai compris et je verrais au retour
comment transformer tout cela en une Macro
Samedi je serai encore là et après...
oui je crois que les vacances seront appréciées...
..je remplis d'avance ma colonne E
;-D

LeSteph



"j-claude" a écrit dans le message de
news:41096493$0$1895$
sinon bonnes vacances ,

au moins bonne nuit !

(je bosse demain tte la journée, je reprends le tout samedi)


à+















"j-claude" a écrit dans le message news:
41095c1c$0$1896$
rebonsoir le steph,

enfin un bon début :

en "A" c'est bon
en "B" l'instruction de ta macro fait son travail.

en "C" j'ai tiré la formule vers le bas et ça fonctionne
comme


je
voulais (au changement de mois on recommence une nouvelle moyenne).

et c'est là que je comprends enfin pourquoi tu me parlais
des


jours ouvrés!

en fait il faudrait enlever les dimanches , les jours
fériés



(et
les jrs de grève ;-).

j'ai essayé de supprimer les lignes relatives aux jours non
travaillés mais alors la formule ne colle plus (elle tient compte de
la



ligne effacée).

comment faire , là aussi on est près du but...

à+


"j-claude" a écrit dans le message news:
41090f65$0$24063$
'mande pardon de m'immiscer dans le fil, sur la pointe de mes
bottes



,(car , moi aussi je suis un rural).

juste pour savoir si tu as testé la dernière macro,
car




chez
moi, j'ai beau mettre un peu de poésie dedans , il y a la partie
suivante


qui ne rime pas avec le reste:
'moyenne du mois en C
repa = Month(.Range("a" & ligne))
repb = Year(.Range("a" & ligne))
.Range("c" & ligne) = _
Evaluate("sumproduct((month(feuil2!A1:a65000)=" & repa &
" )*(year(feuil2!A1:a65000)=" & repb & " ) *(feuil2!b1:b65000))/
sumproduct((month(feuil2!A1:a65000)=" & repa &
")*(year(feuil2!A1:a65000)=" & repb & "))")



j'ai beau tenter les césures mais au bout c'est
toujours


la
déconfiture (dans ma rurale lorraine , celle de groseilles est
d'ailleurs


pas mal, cette année ;-)

en fait , la colonne "c" reste vide...

il y a des messages d'erreur sur sumproduct et d'autres...


Rappel : on est bien d'accord même si tu sembles réticent au
manque




de
poésie d'une encaisse (normal puisqu'il n'y a ni Rimbaud ni
Baudelaire




que
ça a inspiré).

en "A" la date
OK



en "B" la dernière valeur du jour OK

en "C" la moyenne des valeurs des cellules
précédentes




du
mois "EN COURS".(ainsi le 1 aout , le compteur de la moyenne doit
se




remettre à 0.
pas


OK

en "D" ton average est optionnel car ça me donne la
moyenne


de
TOUT ce qui précède. je prends qd.
même.






j'insiste un peu car comme diraient certains
gardiens:



dans notre métier on est si près du...


à+ ???


























"AV" a écrit dans le message news:

t'as lu la dernière phrase ?


Achhh... j'étais même pas arrivé jusque là, tellement la
surprise......




AV





















1 2 3 4 5