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
ru-th
Salut

dans un module standard
public valeur

dans thisworkbook
Private Sub Workbook_Open()
valeur = [feuil1!C1]
End Sub

dans le module feuil1
Private Sub Worksheet_Calculate()
On Error Resume Next
If [C1] <> valeur Then
With Sheets("feuil2")
.Range("a" & [feuil2!a65536].End(xlUp).Row + 1) = Now
.Range("b" & [feuil2!b65536].End(xlUp).Row + 1) = [C1]
End With
End If
End Sub

a+
rural thierry
Veaux et Broutards d'Anjou
Wicasa on kin nape yapi inahni yo (à l'essai)

"j-claude" a écrit dans le message de
news:4103f223$0$29587$
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






Avatar
ru-th
J'oubliais !
pour la moyenne du jour en c&1 de la feuil2
=MOYENNE(SI(ENT(A1:A3000)=AUJOURDHUI();B1:B3000))
matricielle (à valider par ctrl+maj+entrée)
--
a+
rural thierry
Veaux et Broutards d'Anjou
Wicasa on kin nape yapi inahni yo (à l'essai)

"ru-th" a écrit dans le message de
news:
Salut

dans un module standard
public valeur

dans thisworkbook
Private Sub Workbook_Open()
valeur = [feuil1!C1]
End Sub

dans le module feuil1
Private Sub Worksheet_Calculate()
On Error Resume Next
If [C1] <> valeur Then
With Sheets("feuil2")
.Range("a" & [feuil2!a65536].End(xlUp).Row + 1) = Now
.Range("b" & [feuil2!b65536].End(xlUp).Row + 1) = [C1]
End With
End If
End Sub

a+
rural thierry
Veaux et Broutards d'Anjou
Wicasa on kin nape yapi inahni yo (à l'essai)

"j-claude" a écrit dans le message de
news:4103f223$0$29587$
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










Avatar
LeSteph
Bonsoir,

Dans Feuil2!d2 ou une autre qui sert pas,
(pour forcer le recalcul par rapport à la cellule cible)

= Feuil1!C1


Dans Feuil2 colonne A la date jour par jour,
colonne b en titre montant

Dans le module de feuil2!

Private Sub Worksheet_Calculate()
Dim c
For Each c In Range("a:a").Cells
If c = Date Then
c.Offset(0, 1) = Worksheets("feuil1").[c1]
Exit For
End If
Next
End Sub

Le montant s'écrira en face du jour.
(Pour la journée suivante ce sera le lendemain)

LeSteph

"j-claude" a écrit dans le message de
news:4103f223$0$29587$
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






Avatar
LeSteph
Désolé Thierry mais j'avais quand même envie de mettre mon bout de code

malgré la présence du tien , donc je ne te ferai pas croire que je ne
l'avais pas vu...

;-)

LeSteph

"ru-th" a écrit dans le message de
news:
Salut

dans un module standard
public valeur

dans thisworkbook
Private Sub Workbook_Open()
valeur = [feuil1!C1]
End Sub

dans le module feuil1
Private Sub Worksheet_Calculate()
On Error Resume Next
If [C1] <> valeur Then
With Sheets("feuil2")
.Range("a" & [feuil2!a65536].End(xlUp).Row + 1) = Now
.Range("b" & [feuil2!b65536].End(xlUp).Row + 1) = [C1]
End With
End If
End Sub

a+
rural thierry
Veaux et Broutards d'Anjou
Wicasa on kin nape yapi inahni yo (à l'essai)

"j-claude" a écrit dans le message de
news:4103f223$0$29587$
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










Avatar
j-claude
bonsoir et un grand merci à vous deux,

je n'espérais pas des réponses aussi rapides!

Thierry , ça fonctionne, presque...

deux petits hics:

il me faut la dernière valeur du jour, car c'est à partir de cette valeur
que je calcule la moyenne de la fameuse encaisse.
or ta macro me donne tous les résultats de feui1!C3 au fil des modifs
dans une même journée.Comment ne retenir que la dernière valeur.

second souci , qd. j'entre la formule matricielle , j'ai un message
d'erreur qui dit que les formules matricielles ne s'appliquent pas aux
cellules fusionnées (une erreur de ma part)??

merci pour la suite.... à +


salut Le Steph,

je teste mais c'est mal parti, je te tiens au courant..










"LeSteph" a écrit dans le message news:
41040dc5$0$31408$
Bonsoir,

Dans Feuil2!d2 ou une autre qui sert pas,
(pour forcer le recalcul par rapport à la cellule cible)

= Feuil1!C1


Dans Feuil2 colonne A la date jour par jour,
colonne b en titre montant

Dans le module de feuil2!

Private Sub Worksheet_Calculate()
Dim c
For Each c In Range("a:a").Cells
If c = Date Then
c.Offset(0, 1) = Worksheets("feuil1").[c1]
Exit For
End If
Next
End Sub

Le montant s'écrira en face du jour.
(Pour la journée suivante ce sera le lendemain)

LeSteph

"j-claude" a écrit dans le message de
news:4103f223$0$29587$
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










Avatar
j-claude
bonsoir Le Steph,

c'est un problème en suspens depuis des mois que tu viens de régler en
quelques minutes (à vous dégoûter de vouloir écrire des macros soi même,
mais je vais persévérer)...
j'obtiens bien la dernière valeur du jour mais je dois entrer les dates
manuellement ; avec Thierry les dates étaient auto. mais j'avais ttes les
valeurs d'une même journée...

peut-être en combinant les deux... :=))

merci beaucoup

et continuez vos zoeuvres sur le forum , mon micro sans vos
macros , c'est un peu comme un chien sans ses crocs...

à+ cordialement

j-claude
Avatar
sabatier
non seulement cette phrase me plaît (merci, j-claude) mais parvenir à la
dire à toute allure est sûrement un meilleur exercice de diction que les
cailloux dans la bouche du père démosthène...
jps

"j-claude" a écrit dans le message de
news:410427b5$0$6063$
mon micro sans vos macros , c'est un peu comme un chien sans ses crocs...


Avatar
GD
UnScudsabatdelaile typed:
non seulement cette phrase me plaît (merci, j-claude) mais parvenir à
la dire à toute allure est sûrement un meilleur exercice de diction
que les cailloux dans la bouche du père démosthène...
jps


passant la majorité de ton temps à la cave, (abri anti-scuds ??? c'est
l'excuse),
je pensais que ton exercice préféré était :
mettre la main entre les caisses, et le doigt dans le trou du fût...
;o)))

Avatar
LeSteph
Re bonsoir Jean-Claude,

Tes compliments nous vont droit au coeur même si je ne vois plus thierry
dans le coin.
En deux temps tu rentres ta date en a2
lasuivante en a3 tu sélectionnes les deux cellules et en gardant le bouton
de souris appuyé
tu tires la recopie incrémentée jusqu'où tu veux.
Sinon évite de reprendre l'incrémentation des datesdans la m^me macro sinon
elles vont être remodifiées à chaque recalcul..
Tu peux aussi faire une autre macro pour la mise en place des dates mais
cela te prendra plus de temps
que si tu les rentrais d'un coup pour 65535 jours.

A quand tu veux.

;-)

LeSteph





"j-claude" a écrit dans le message de
news:41042672$0$6043$
bonsoir Le Steph,

c'est un problème en suspens depuis des mois que tu viens de régler
en

quelques minutes (à vous dégoûter de vouloir écrire des macros soi même,
mais je vais persévérer)...
j'obtiens bien la dernière valeur du jour mais je dois entrer les dates
manuellement ; avec Thierry les dates étaient auto. mais j'avais ttes les
valeurs d'une même journée...

peut-être en combinant les deux... :=))

merci beaucoup

et continuez vos zoeuvres sur le forum , mon micro sans vos
macros , c'est un peu comme un chien sans ses crocs...

à+ cordialement

j-claude





Avatar
LeSteph
Bonsoir votre cailloutterie serait elle due au terrain siliceux dont les
oxides bienfaiteurs
sévissent en terre Morgonnée
;-)
"sabatier" a écrit dans le message
de news:
non seulement cette phrase me plaît (merci, j-claude) mais parvenir à la
dire à toute allure est sûrement un meilleur exercice de diction que les
cailloux dans la bouche du père démosthène...
jps

"j-claude" a écrit dans le message de
news:410427b5$0$6063$
mon micro sans vos macros , c'est un peu comme un chien sans ses
crocs...








1 2 3 4 5