OVH Cloud OVH Cloud

calendrier auto.

17 réponses
Avatar
j-claude
bonjour,

Un petit souci qui ne résistera pas à votre sagacité.

soit une cellule ''n '' dont la valeur change chaque jour du mois.

je voudrais dans une autre feuille récupérer cette valeur dans une cellule
adjacente à une autre cellule où apparaîtrait le jour du mois.

par ex feuille 1 (où je modifie chaque jour les données) :
le 02/01/04 n=100

le 03/01/04 n=120

le 04/01/04 n=124

jusqu'au 31/01/04

pourrais récupérer automatiquement dans une feuille 2 :

dans A1 02/01/04 ; B1=100

A2 03/01/04 ; B2=120

A3 04/01/04 ; B3=124

jusqu'au 31/01/04


même si vous ne me dites pas comment, dites moi juste si c'est possible ou
non (macro ou autre).

je vous avoue aussi que si vous me disiez comment..

cordialement,

J-Claude.

10 réponses

1 2
Avatar
Kamel
Si dans la feuille 2 tu ecris dans la case A1 la formule : "þuil1!A1" par
exemple cela affectera dans la case A1 de la feuille 2 la valeur de la case
A1 de la feuille 1 ....

un peu compliquée la phrase ... lol

"j-claude" a écrit dans le message de
news:4012d0b2$0$29057$
bonjour,

Un petit souci qui ne résistera pas à votre sagacité.

soit une cellule ''n '' dont la valeur change chaque jour du mois.

je voudrais dans une autre feuille récupérer cette valeur dans une cellule
adjacente à une autre cellule où apparaîtrait le jour du mois.

par ex feuille 1 (où je modifie chaque jour les données) :
le 02/01/04 n0

le 03/01/04 n0

le 04/01/04 n4

jusqu'au 31/01/04

pourrais récupérer automatiquement dans une feuille 2 :

dans A1 02/01/04 ; B10

A2 03/01/04 ; B20

A3 04/01/04 ; B34

jusqu'au 31/01/04


même si vous ne me dites pas comment, dites moi juste si c'est possible ou
non (macro ou autre).

je vous avoue aussi que si vous me disiez comment..

cordialement,

J-Claude.





Avatar
j-claude
bonsoir,

la phrase paraît compliquée mais en fait elle est très précise et complétée
par une illustration détaillée de ce que je veux et , si tu te repenches sue
ta solution , tu verras qu'elle n'apporte pas la réponse car dans ma feuille
1 , la valeur de ma cellule change ts les jours!
or , je veux obtenir une récap. mensuelle de ttes les valeurs de ''n'' de
chaque jour du mois .

merci à tous.


"Kamel" a écrit dans le message news:

Si dans la feuille 2 tu ecris dans la case A1 la formule : "þuil1!A1"
par

exemple cela affectera dans la case A1 de la feuille 2 la valeur de la
case

A1 de la feuille 1 ....

un peu compliquée la phrase ... lol

"j-claude" a écrit dans le message de
news:4012d0b2$0$29057$
bonjour,

Un petit souci qui ne résistera pas à votre sagacité.

soit une cellule ''n '' dont la valeur change chaque jour du mois.

je voudrais dans une autre feuille récupérer cette valeur dans une
cellule


adjacente à une autre cellule où apparaîtrait le jour du mois.

par ex feuille 1 (où je modifie chaque jour les données) :
le 02/01/04 n0

le 03/01/04 n0

le 04/01/04 n4

jusqu'au 31/01/04

pourrais récupérer automatiquement dans une feuille 2 :

dans A1 02/01/04 ; B10

A2 03/01/04 ; B20

A3 04/01/04 ; B34

jusqu'au 31/01/04


même si vous ne me dites pas comment, dites moi juste si c'est possible
ou


non (macro ou autre).

je vous avoue aussi que si vous me disiez comment..

cordialement,

J-Claude.









Avatar
Kamel
Essaye cette macro que tu mets ds la feuille 1 :

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$A$1" Then
If Sheets(2).Range("A1") <> "" And _
Sheets(2).Range("A2") <> "" Then
With Sheets(2).Range("A1").End(xlDown).Offset(1)
.FormulaR1C1 = Target.FormulaR1C1
.NumberFormat = "m/d/yyyy"
End With
End If
If Sheets(2).Range("A1") <> "" And _
Sheets(2).Range("A2") = "" Then
With Sheets(2).Range("A2")
.FormulaR1C1 = Target.FormulaR1C1
.NumberFormat = "m/d/yyyy"
End With
End If
If Sheets(2).Range("A1") = "" Then
With Sheets(2).Range("A1")
.FormulaR1C1 = Target.FormulaR1C1
.NumberFormat = "m/d/yyyy"
End With
End If
End If

If Target.Address = "$B$1" Then
If Sheets(2).Range("B1") <> "" And _
Sheets(2).Range("B2") <> "" Then
Sheets(2).Range("B1").End(xlDown).Offset(1).FormulaR1C1 Target.FormulaR1C1
End If
If Sheets(2).Range("B1") <> "" And _
Sheets(2).Range("B2") = "" Then
Sheets(2).Range("B2").FormulaR1C1 = Target.FormulaR1C1
End If
If Sheets(2).Range("B1") = "" Then
Sheets(2).Range("B1").FormulaR1C1 = Target.FormulaR1C1
End If
End If

End Sub

Ca marche et il y a surement possibilité de la simplifier ...
Elle permet de lister les infos entrées dans la feuille 1 dans les cases A1
et B1. Ces infos sont dans les colonnes A et B de la feuille 2 ...

"j-claude" a écrit dans le message de
news:4012d68a$0$29073$
bonsoir,

la phrase paraît compliquée mais en fait elle est très précise et
complétée

par une illustration détaillée de ce que je veux et , si tu te repenches
sue

ta solution , tu verras qu'elle n'apporte pas la réponse car dans ma
feuille

1 , la valeur de ma cellule change ts les jours!
or , je veux obtenir une récap. mensuelle de ttes les valeurs de ''n'' de
chaque jour du mois .

merci à tous.


"Kamel" a écrit dans le message news:

Si dans la feuille 2 tu ecris dans la case A1 la formule : "þuil1!A1"
par

exemple cela affectera dans la case A1 de la feuille 2 la valeur de la
case

A1 de la feuille 1 ....

un peu compliquée la phrase ... lol

"j-claude" a écrit dans le message de
news:4012d0b2$0$29057$
bonjour,

Un petit souci qui ne résistera pas à votre sagacité.

soit une cellule ''n '' dont la valeur change chaque jour du mois.

je voudrais dans une autre feuille récupérer cette valeur dans une
cellule


adjacente à une autre cellule où apparaîtrait le jour du mois.

par ex feuille 1 (où je modifie chaque jour les données) :
le 02/01/04 n0

le 03/01/04 n0

le 04/01/04 n4

jusqu'au 31/01/04

pourrais récupérer automatiquement dans une feuille 2 :

dans A1 02/01/04 ; B10

A2 03/01/04 ; B20

A3 04/01/04 ; B34

jusqu'au 31/01/04


même si vous ne me dites pas comment, dites moi juste si c'est
possible



ou
non (macro ou autre).

je vous avoue aussi que si vous me disiez comment..

cordialement,

J-Claude.













Avatar
j-claude
merci kamel pour ta macro,

elle fonctionne très bien dans le cas de figure exposé (bravo!)

mais étant loin d'être un spécialiste dans ce domaine, je n'arrive pas à
l'exploiter si je veux par ex. retrouver dans une feuille3 les cellules G36
et G37 d'une feuille2.
J'ai bien sûr inséré ta macro dans la feuille 2 mais je ne m'en sors pas en
modifiant les références des cellules: je dois mélanger qque chose?
J'ai commencé par modifier sheets(2 ) par sheets (3).
ensuite malgré les modifs. des réf. de cellules, je n'arrive pas à retrouver
celles ci dans la feuille 3.
Peux tu me dire ce que je dois modifier (pardonne ma nullité)!


d'autre part et pour finir , puis-je également insérer dans la macro la
formule qui me permettrait de calculer la moyenne de ttes les infos listées
dans la feuille de départ pour retrouver le résultat à l'arrivée.

Si tu as encore un peu de patience , je sens qu'on approche du but...

Cordialement,

J-Claude

"Kamel" a écrit dans le message news:
e$
Essaye cette macro que tu mets ds la feuille 1 :

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$A$1" Then
If Sheets(2).Range("A1") <> "" And _
Sheets(2).Range("A2") <> "" Then
With Sheets(2).Range("A1").End(xlDown).Offset(1)
.FormulaR1C1 = Target.FormulaR1C1
.NumberFormat = "m/d/yyyy"
End With
End If
If Sheets(2).Range("A1") <> "" And _
Sheets(2).Range("A2") = "" Then
With Sheets(2).Range("A2")
.FormulaR1C1 = Target.FormulaR1C1
.NumberFormat = "m/d/yyyy"
End With
End If
If Sheets(2).Range("A1") = "" Then
With Sheets(2).Range("A1")
.FormulaR1C1 = Target.FormulaR1C1
.NumberFormat = "m/d/yyyy"
End With
End If
End If

If Target.Address = "$B$1" Then
If Sheets(2).Range("B1") <> "" And _
Sheets(2).Range("B2") <> "" Then
Sheets(2).Range("B1").End(xlDown).Offset(1).FormulaR1C1 > Target.FormulaR1C1
End If
If Sheets(2).Range("B1") <> "" And _
Sheets(2).Range("B2") = "" Then
Sheets(2).Range("B2").FormulaR1C1 = Target.FormulaR1C1
End If
If Sheets(2).Range("B1") = "" Then
Sheets(2).Range("B1").FormulaR1C1 = Target.FormulaR1C1
End If
End If

End Sub

Ca marche et il y a surement possibilité de la simplifier ...
Elle permet de lister les infos entrées dans la feuille 1 dans les cases
A1

et B1. Ces infos sont dans les colonnes A et B de la feuille 2 ...

"j-claude" a écrit dans le message de
news:4012d68a$0$29073$
bonsoir,

la phrase paraît compliquée mais en fait elle est très précise et
complétée

par une illustration détaillée de ce que je veux et , si tu te repenches
sue

ta solution , tu verras qu'elle n'apporte pas la réponse car dans ma
feuille

1 , la valeur de ma cellule change ts les jours!
or , je veux obtenir une récap. mensuelle de ttes les valeurs de ''n''
de


chaque jour du mois .

merci à tous.


"Kamel" a écrit dans le message news:

Si dans la feuille 2 tu ecris dans la case A1 la formule :
"þuil1!A1"



par
exemple cela affectera dans la case A1 de la feuille 2 la valeur de la
case

A1 de la feuille 1 ....

un peu compliquée la phrase ... lol

"j-claude" a écrit dans le message de
news:4012d0b2$0$29057$
bonjour,

Un petit souci qui ne résistera pas à votre sagacité.

soit une cellule ''n '' dont la valeur change chaque jour du mois.

je voudrais dans une autre feuille récupérer cette valeur dans une
cellule


adjacente à une autre cellule où apparaîtrait le jour du mois.

par ex feuille 1 (où je modifie chaque jour les données) :
le 02/01/04 n0

le 03/01/04 n0

le 04/01/04 n4

jusqu'au 31/01/04

pourrais récupérer automatiquement dans une feuille 2 :

dans A1 02/01/04 ; B10

A2 03/01/04 ; B20

A3 04/01/04 ; B34

jusqu'au 31/01/04


même si vous ne me dites pas comment, dites moi juste si c'est
possible



ou
non (macro ou autre).

je vous avoue aussi que si vous me disiez comment..

cordialement,

J-Claude.

















Avatar
j-claude
merci kamel pour ta macro,

elle fonctionne très bien dans le cas de figure exposé (bravo!)

mais étant loin d'être un spécialiste dans ce domaine, je n'arrive pas à
l'exploiter si je veux par ex. retrouver dans une feuille3 les cellules G36
et G37 d'une feuille2.
J'ai bien sûr inséré ta macro dans la feuille 2 mais je ne m'en sors pas en
modifiant les références des cellules: je dois mélanger qque chose?
J'ai commencé par modifier sheets(2 ) par sheets (3).
ensuite malgré les modifs. des réf. de cellules, je n'arrive pas à retrouver
celles ci dans la feuille 3.
Peux tu me dire ce que je dois modifier (pardonne ma nullité)!


d'autre part et pour finir , puis-je également insérer dans la macro la
formule qui me permettrait de calculer la moyenne de ttes les infos listées
dans la feuille de départ pour retrouver le résultat à l'arrivée.

Si tu as encore un peu de patience , je sens qu'on approche du but...

Cordialement,

J-Claude









"Kamel" a écrit dans le message news:
e$
Essaye cette macro que tu mets ds la feuille 1 :

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$A$1" Then
If Sheets(2).Range("A1") <> "" And _
Sheets(2).Range("A2") <> "" Then
With Sheets(2).Range("A1").End(xlDown).Offset(1)
.FormulaR1C1 = Target.FormulaR1C1
.NumberFormat = "m/d/yyyy"
End With
End If
If Sheets(2).Range("A1") <> "" And _
Sheets(2).Range("A2") = "" Then
With Sheets(2).Range("A2")
.FormulaR1C1 = Target.FormulaR1C1
.NumberFormat = "m/d/yyyy"
End With
End If
If Sheets(2).Range("A1") = "" Then
With Sheets(2).Range("A1")
.FormulaR1C1 = Target.FormulaR1C1
.NumberFormat = "m/d/yyyy"
End With
End If
End If

If Target.Address = "$B$1" Then
If Sheets(2).Range("B1") <> "" And _
Sheets(2).Range("B2") <> "" Then
Sheets(2).Range("B1").End(xlDown).Offset(1).FormulaR1C1 > Target.FormulaR1C1
End If
If Sheets(2).Range("B1") <> "" And _
Sheets(2).Range("B2") = "" Then
Sheets(2).Range("B2").FormulaR1C1 = Target.FormulaR1C1
End If
If Sheets(2).Range("B1") = "" Then
Sheets(2).Range("B1").FormulaR1C1 = Target.FormulaR1C1
End If
End If

End Sub

Ca marche et il y a surement possibilité de la simplifier ...
Elle permet de lister les infos entrées dans la feuille 1 dans les cases
A1

et B1. Ces infos sont dans les colonnes A et B de la feuille 2 ...

"j-claude" a écrit dans le message de
news:4012d68a$0$29073$
bonsoir,

la phrase paraît compliquée mais en fait elle est très précise et
complétée

par une illustration détaillée de ce que je veux et , si tu te repenches
sue

ta solution , tu verras qu'elle n'apporte pas la réponse car dans ma
feuille

1 , la valeur de ma cellule change ts les jours!
or , je veux obtenir une récap. mensuelle de ttes les valeurs de ''n''
de


chaque jour du mois .

merci à tous.


"Kamel" a écrit dans le message news:

Si dans la feuille 2 tu ecris dans la case A1 la formule :
"þuil1!A1"



par
exemple cela affectera dans la case A1 de la feuille 2 la valeur de la
case

A1 de la feuille 1 ....

un peu compliquée la phrase ... lol

"j-claude" a écrit dans le message de
news:4012d0b2$0$29057$
bonjour,

Un petit souci qui ne résistera pas à votre sagacité.

soit une cellule ''n '' dont la valeur change chaque jour du mois.

je voudrais dans une autre feuille récupérer cette valeur dans une
cellule


adjacente à une autre cellule où apparaîtrait le jour du mois.

par ex feuille 1 (où je modifie chaque jour les données) :
le 02/01/04 n0

le 03/01/04 n0

le 04/01/04 n4

jusqu'au 31/01/04

pourrais récupérer automatiquement dans une feuille 2 :

dans A1 02/01/04 ; B10

A2 03/01/04 ; B20

A3 04/01/04 ; B34

jusqu'au 31/01/04


même si vous ne me dites pas comment, dites moi juste si c'est
possible



ou
non (macro ou autre).

je vous avoue aussi que si vous me disiez comment..

cordialement,

J-Claude.

















Avatar
Kamel
Ok bah approchons ns encore plus .... Tu as oublié de me dire dans quelles
colonnes vont être écrites les données dans la feuille 3 (ici les colonnes A
et B sont remplies à partir de la ligne 1 ....).
Pour la moyenne, elle s'affiche en bas de la liste ....


Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$G$36" Then
If Sheets(3).Range("A1") <> "" And _
Sheets(3).Range("A2") <> "" Then
With Sheets(3).Range("A1").End(xlDown)
.FormulaR1C1 = Target.FormulaR1C1
.NumberFormat = "m/d/yyyy"
.Offset(1).FormulaR1C1 = "Moyenne = "
End With
End If
If Sheets(3).Range("A1") = "" Then
With Sheets(3).Range("A1")
.FormulaR1C1 = Target.FormulaR1C1
.NumberFormat = "m/d/yyyy"
.Offset(1).FormulaR1C1 = "Moyenne = "
End With
End If
End If

If Target.Address = "$G$37" Then
If Sheets(3).Range("B1") <> "" And _
Sheets(3).Range("B2") <> "" Then
With Sheets(3).Range("B1").End(xlDown)
.FormulaR1C1 = Target.FormulaR1C1
.Offset(1).FormulaR1C1 = "=IF(ISBLANK(R[-" & .Row &
"]C:R[-1]C),0,AVERAGE(R[-" & .Row & "]C:R[-1]C))"
End With
End If
If Sheets(3).Range("B1") = "" Then
With Sheets(3).Range("B1")
.FormulaR1C1 = Target.FormulaR1C1
.Offset(1).FormulaR1C1 = "=IF(ISBLANK(R[-" & .Row &
"]C:R[-1]C),0,AVERAGE(R[-" & .Row & "]C:R[-1]C))"
End With
End If
End If

End Sub


"j-claude" a écrit dans le message de
news:40142d7d$0$17115$
merci kamel pour ta macro,

elle fonctionne très bien dans le cas de figure exposé (bravo!)

mais étant loin d'être un spécialiste dans ce domaine, je n'arrive pas à
l'exploiter si je veux par ex. retrouver dans une feuille3 les cellules
G36

et G37 d'une feuille2.
J'ai bien sûr inséré ta macro dans la feuille 2 mais je ne m'en sors pas
en

modifiant les références des cellules: je dois mélanger qque chose?
J'ai commencé par modifier sheets(2 ) par sheets (3).
ensuite malgré les modifs. des réf. de cellules, je n'arrive pas à
retrouver

celles ci dans la feuille 3.
Peux tu me dire ce que je dois modifier (pardonne ma nullité)!


d'autre part et pour finir , puis-je également insérer dans la macro la
formule qui me permettrait de calculer la moyenne de ttes les infos
listées

dans la feuille de départ pour retrouver le résultat à l'arrivée.

Si tu as encore un peu de patience , je sens qu'on approche du but...

Cordialement,

J-Claude









"Kamel" a écrit dans le message news:
e$
Essaye cette macro que tu mets ds la feuille 1 :

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$A$1" Then
If Sheets(2).Range("A1") <> "" And _
Sheets(2).Range("A2") <> "" Then
With Sheets(2).Range("A1").End(xlDown).Offset(1)
.FormulaR1C1 = Target.FormulaR1C1
.NumberFormat = "m/d/yyyy"
End With
End If
If Sheets(2).Range("A1") <> "" And _
Sheets(2).Range("A2") = "" Then
With Sheets(2).Range("A2")
.FormulaR1C1 = Target.FormulaR1C1
.NumberFormat = "m/d/yyyy"
End With
End If
If Sheets(2).Range("A1") = "" Then
With Sheets(2).Range("A1")
.FormulaR1C1 = Target.FormulaR1C1
.NumberFormat = "m/d/yyyy"
End With
End If
End If

If Target.Address = "$B$1" Then
If Sheets(2).Range("B1") <> "" And _
Sheets(2).Range("B2") <> "" Then
Sheets(2).Range("B1").End(xlDown).Offset(1).FormulaR1C1 > > Target.FormulaR1C1
End If
If Sheets(2).Range("B1") <> "" And _
Sheets(2).Range("B2") = "" Then
Sheets(2).Range("B2").FormulaR1C1 = Target.FormulaR1C1
End If
If Sheets(2).Range("B1") = "" Then
Sheets(2).Range("B1").FormulaR1C1 = Target.FormulaR1C1
End If
End If

End Sub

Ca marche et il y a surement possibilité de la simplifier ...
Elle permet de lister les infos entrées dans la feuille 1 dans les cases
A1

et B1. Ces infos sont dans les colonnes A et B de la feuille 2 ...

"j-claude" a écrit dans le message de
news:4012d68a$0$29073$
bonsoir,

la phrase paraît compliquée mais en fait elle est très précise et
complétée

par une illustration détaillée de ce que je veux et , si tu te
repenches



sue
ta solution , tu verras qu'elle n'apporte pas la réponse car dans ma
feuille

1 , la valeur de ma cellule change ts les jours!
or , je veux obtenir une récap. mensuelle de ttes les valeurs de ''n''
de


chaque jour du mois .

merci à tous.


"Kamel" a écrit dans le message news:

Si dans la feuille 2 tu ecris dans la case A1 la formule :
"þuil1!A1"



par
exemple cela affectera dans la case A1 de la feuille 2 la valeur de
la




case
A1 de la feuille 1 ....

un peu compliquée la phrase ... lol

"j-claude" a écrit dans le message de
news:4012d0b2$0$29057$
bonjour,

Un petit souci qui ne résistera pas à votre sagacité.

soit une cellule ''n '' dont la valeur change chaque jour du
mois.






je voudrais dans une autre feuille récupérer cette valeur dans une
cellule


adjacente à une autre cellule où apparaîtrait le jour du mois.

par ex feuille 1 (où je modifie chaque jour les données) :
le 02/01/04 n0

le 03/01/04 n0

le 04/01/04 n4

jusqu'au 31/01/04

pourrais récupérer automatiquement dans une feuille 2 :

dans A1 02/01/04 ; B10

A2 03/01/04 ; B20

A3 04/01/04 ; B34

jusqu'au 31/01/04


même si vous ne me dites pas comment, dites moi juste si c'est
possible



ou
non (macro ou autre).

je vous avoue aussi que si vous me disiez comment..

cordialement,

J-Claude.





















Avatar
j-claude
C'est une macro-réussite,
tout marche à merveille, avec le calcul de la moyenne en prime.

la raison pour laquelle j'ai cafouillé avec ta première macro est toute bête
:en voulant changer la cellule de référence à lister dans une feuille 3 par
ex. ; j'ai mis des minuscules pour écrire la cellule dans la macro.(dans ce
cas le renvoi de la Feuille 2 vers la Feuille 3 n'a pu se faire).

par ex. $h$31 au lieu de $H$31 (j'avais lu que le respect de la casse n
'était pas important dans l'écriture des macros).En tt. cas je sais
maintenant que ce n'est pas toujours vrai !

Une toute dernière remarque que j'aurais dû noter plus tôt mais je viens à
peine de constater ce pb. en exploitant ta macro :

dans une journée courante , la valeur de la cellule de référence ''n'' est
modifiée plusieurs fois (il s'agit du montant d'une encaisse) ; chaque
modif. est donc enregistrée dans la moyenne.Or , la seule valeur à prendre
en compte est celle de la fin de journée comptable.Penses- tu que cet ultime
épreuve soit encore surmontable ?

Quelle que soit ta réponse , bravo pour tes macro-connaissances !

Cordialement,

J-Claude.








"Kamel" a écrit dans le message news:

Ok bah approchons ns encore plus .... Tu as oublié de me dire dans quelles
colonnes vont être écrites les données dans la feuille 3 (ici les colonnes
A

et B sont remplies à partir de la ligne 1 ....).
Pour la moyenne, elle s'affiche en bas de la liste ....


Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$G$36" Then
If Sheets(3).Range("A1") <> "" And _
Sheets(3).Range("A2") <> "" Then
With Sheets(3).Range("A1").End(xlDown)
.FormulaR1C1 = Target.FormulaR1C1
.NumberFormat = "m/d/yyyy"
.Offset(1).FormulaR1C1 = "Moyenne = "
End With
End If
If Sheets(3).Range("A1") = "" Then
With Sheets(3).Range("A1")
.FormulaR1C1 = Target.FormulaR1C1
.NumberFormat = "m/d/yyyy"
.Offset(1).FormulaR1C1 = "Moyenne = "
End With
End If
End If

If Target.Address = "$G$37" Then
If Sheets(3).Range("B1") <> "" And _
Sheets(3).Range("B2") <> "" Then
With Sheets(3).Range("B1").End(xlDown)
.FormulaR1C1 = Target.FormulaR1C1
.Offset(1).FormulaR1C1 = "=IF(ISBLANK(R[-" & .Row &
"]C:R[-1]C),0,AVERAGE(R[-" & .Row & "]C:R[-1]C))"
End With
End If
If Sheets(3).Range("B1") = "" Then
With Sheets(3).Range("B1")
.FormulaR1C1 = Target.FormulaR1C1
.Offset(1).FormulaR1C1 = "=IF(ISBLANK(R[-" & .Row &
"]C:R[-1]C),0,AVERAGE(R[-" & .Row & "]C:R[-1]C))"
End With
End If
End If

End Sub


"j-claude" a écrit dans le message de
news:40142d7d$0$17115$
merci kamel pour ta macro,

elle fonctionne très bien dans le cas de figure exposé (bravo!)

mais étant loin d'être un spécialiste dans ce domaine, je n'arrive pas à
l'exploiter si je veux par ex. retrouver dans une feuille3 les cellules
G36

et G37 d'une feuille2.
J'ai bien sûr inséré ta macro dans la feuille 2 mais je ne m'en sors pas
en

modifiant les références des cellules: je dois mélanger qque chose?
J'ai commencé par modifier sheets(2 ) par sheets (3).
ensuite malgré les modifs. des réf. de cellules, je n'arrive pas à
retrouver

celles ci dans la feuille 3.
Peux tu me dire ce que je dois modifier (pardonne ma nullité)!


d'autre part et pour finir , puis-je également insérer dans la macro la
formule qui me permettrait de calculer la moyenne de ttes les infos
listées

dans la feuille de départ pour retrouver le résultat à l'arrivée.

Si tu as encore un peu de patience , je sens qu'on approche du but...

Cordialement,

J-Claude









"Kamel" a écrit dans le message news:
e$
Essaye cette macro que tu mets ds la feuille 1 :

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$A$1" Then
If Sheets(2).Range("A1") <> "" And _
Sheets(2).Range("A2") <> "" Then
With Sheets(2).Range("A1").End(xlDown).Offset(1)
.FormulaR1C1 = Target.FormulaR1C1
.NumberFormat = "m/d/yyyy"
End With
End If
If Sheets(2).Range("A1") <> "" And _
Sheets(2).Range("A2") = "" Then
With Sheets(2).Range("A2")
.FormulaR1C1 = Target.FormulaR1C1
.NumberFormat = "m/d/yyyy"
End With
End If
If Sheets(2).Range("A1") = "" Then
With Sheets(2).Range("A1")
.FormulaR1C1 = Target.FormulaR1C1
.NumberFormat = "m/d/yyyy"
End With
End If
End If

If Target.Address = "$B$1" Then
If Sheets(2).Range("B1") <> "" And _
Sheets(2).Range("B2") <> "" Then
Sheets(2).Range("B1").End(xlDown).Offset(1).FormulaR1C1 > > > Target.FormulaR1C1
End If
If Sheets(2).Range("B1") <> "" And _
Sheets(2).Range("B2") = "" Then
Sheets(2).Range("B2").FormulaR1C1 = Target.FormulaR1C1
End If
If Sheets(2).Range("B1") = "" Then
Sheets(2).Range("B1").FormulaR1C1 = Target.FormulaR1C1
End If
End If

End Sub

Ca marche et il y a surement possibilité de la simplifier ...
Elle permet de lister les infos entrées dans la feuille 1 dans les
cases



A1
et B1. Ces infos sont dans les colonnes A et B de la feuille 2 ...

"j-claude" a écrit dans le message de
news:4012d68a$0$29073$
bonsoir,

la phrase paraît compliquée mais en fait elle est très précise et
complétée

par une illustration détaillée de ce que je veux et , si tu te
repenches



sue
ta solution , tu verras qu'elle n'apporte pas la réponse car dans ma
feuille

1 , la valeur de ma cellule change ts les jours!
or , je veux obtenir une récap. mensuelle de ttes les valeurs de
''n''




de
chaque jour du mois .

merci à tous.


"Kamel" a écrit dans le message news:

Si dans la feuille 2 tu ecris dans la case A1 la formule :
"þuil1!A1"



par
exemple cela affectera dans la case A1 de la feuille 2 la valeur
de





la
case
A1 de la feuille 1 ....

un peu compliquée la phrase ... lol

"j-claude" a écrit dans le message de
news:4012d0b2$0$29057$
bonjour,

Un petit souci qui ne résistera pas à votre sagacité.

soit une cellule ''n '' dont la valeur change chaque jour du
mois.






je voudrais dans une autre feuille récupérer cette valeur dans
une






cellule
adjacente à une autre cellule où apparaîtrait le jour du mois.

par ex feuille 1 (où je modifie chaque jour les données) :
le 02/01/04 n0

le 03/01/04 n0

le 04/01/04 n4

jusqu'au 31/01/04

pourrais récupérer automatiquement dans une feuille 2 :

dans A1 02/01/04 ; B10

A2 03/01/04 ; B20

A3 04/01/04 ; B34

jusqu'au 31/01/04


même si vous ne me dites pas comment, dites moi juste si c'est
possible



ou
non (macro ou autre).

je vous avoue aussi que si vous me disiez comment..

cordialement,

J-Claude.

























Avatar
Kamel
Voici ce que tu desirais ... et comme disait le renard au corbeau "Si votre
ramage se rapporte à votre plumage ... etc" .... ;-)



Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$G$36" Then
If Sheets(3).Range("A1") <> "" And _
Sheets(3).Range("A2") <> "" Then
With Sheets(3).Range("A1").End(xlDown)
.FormulaR1C1 = Target.FormulaR1C1
.NumberFormat = "m/d/yyyy"
.Offset(1).FormulaR1C1 = "Moyenne = "
.Offset(1, 1).FormulaR1C1 = "=IF(ISBLANK(R[-" & _
.Row & "]C:R[-1]C),0,AVERAGE(R[-" & .Row & "]C:R[-1]C))"
End With
End If
If Sheets(3).Range("A1") = "" Then
With Sheets(3).Range("A1")
.FormulaR1C1 = Target.FormulaR1C1
.NumberFormat = "m/d/yyyy"
.Offset(1).FormulaR1C1 = "Moyenne = "
.Offset(1, 1).FormulaR1C1 = "=IF(ISBLANK(R[-" & _
.Row & "]C:R[-1]C),0,AVERAGE(R[-" & .Row & "]C:R[-1]C))"
End With
End If
End If

If Target.Address = "$G$37" Then
Sheets(3).Cells.Find(What:=Target.Offset(-1).Value, _
After:=Sheets(3).Range("A1"), LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=True, SearchFormat:úlse).Offset(, 1).FormulaR1C1 = _
Target.FormulaR1C1
End If

End Sub
Avatar
j-claude
ta dernière macro me donne le message d'erreur:
erreur d'exécution 448 argument nommé introuvable.
c'est dans la partie:

Sheets(3).Cells.Find(What:=Target.Offset(-1).Value, _
After:=Sheets(3).Range("A1"), LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=True, SearchFormat:úlse).Offset(, 1).FormulaR1C1 = _
Target.FormulaR1C1

inutile de dire que pour la rectif???

dans le dernier message , ce n'était pas de la flatterie mais juste
un peu d'enthousiasme devant tes connaissances...

salutations
à+
j-cl.


"Kamel" a écrit dans le message news:

Voici ce que tu desirais ... et comme disait le renard au corbeau "Si
votre

ramage se rapporte à votre plumage ... etc" .... ;-)



Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$G$36" Then
If Sheets(3).Range("A1") <> "" And _
Sheets(3).Range("A2") <> "" Then
With Sheets(3).Range("A1").End(xlDown)
.FormulaR1C1 = Target.FormulaR1C1
.NumberFormat = "m/d/yyyy"
.Offset(1).FormulaR1C1 = "Moyenne = "
.Offset(1, 1).FormulaR1C1 = "=IF(ISBLANK(R[-" & _
.Row & "]C:R[-1]C),0,AVERAGE(R[-" & .Row & "]C:R[-1]C))"
End With
End If
If Sheets(3).Range("A1") = "" Then
With Sheets(3).Range("A1")
.FormulaR1C1 = Target.FormulaR1C1
.NumberFormat = "m/d/yyyy"
.Offset(1).FormulaR1C1 = "Moyenne = "
.Offset(1, 1).FormulaR1C1 = "=IF(ISBLANK(R[-" & _
.Row & "]C:R[-1]C),0,AVERAGE(R[-" & .Row & "]C:R[-1]C))"
End With
End If
End If

If Target.Address = "$G$37" Then
Sheets(3).Cells.Find(What:=Target.Offset(-1).Value, _
After:=Sheets(3).Range("A1"), LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=True, SearchFormat:úlse).Offset(, 1).FormulaR1C1 = _
Target.FormulaR1C1
End If

End Sub




Avatar
Clément Marcotte
Bonjour,

Les arguments nommés sont les arguments qui viennent à la suite des "
:= " Il doit y en avoir un qui pointe vers une feuille/cellule
renommées, déplacées ou inexistantes.


"j-claude" a écrit dans le message de
news:4016b09f$0$17121$
ta dernière macro me donne le message d'erreur:
erreur d'exécution 448 argument nommé introuvable.
c'est dans la partie:

Sheets(3).Cells.Find(What:=Target.Offset(-1).Value, _
After:=Sheets(3).Range("A1"), LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows,
SearchDirection:=xlNext, _

MatchCase:=True, SearchFormat:úlse).Offset(,
1).FormulaR1C1 = _

Target.FormulaR1C1

inutile de dire que pour la rectif???

dans le dernier message , ce n'était pas de la flatterie
mais juste

un peu d'enthousiasme devant tes connaissances...

salutations
à+
j-cl.


"Kamel" a écrit dans le message news:

Voici ce que tu desirais ... et comme disait le renard au corbeau
"Si


votre
ramage se rapporte à votre plumage ... etc" .... ;-)



Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$G$36" Then
If Sheets(3).Range("A1") <> "" And _
Sheets(3).Range("A2") <> "" Then
With Sheets(3).Range("A1").End(xlDown)
.FormulaR1C1 = Target.FormulaR1C1
.NumberFormat = "m/d/yyyy"
.Offset(1).FormulaR1C1 = "Moyenne = "
.Offset(1, 1).FormulaR1C1 = "=IF(ISBLANK(R[-" & _
.Row & "]C:R[-1]C),0,AVERAGE(R[-" & .Row &
"]C:R[-1]C))"


End With
End If
If Sheets(3).Range("A1") = "" Then
With Sheets(3).Range("A1")
.FormulaR1C1 = Target.FormulaR1C1
.NumberFormat = "m/d/yyyy"
.Offset(1).FormulaR1C1 = "Moyenne = "
.Offset(1, 1).FormulaR1C1 = "=IF(ISBLANK(R[-" & _
.Row & "]C:R[-1]C),0,AVERAGE(R[-" & .Row &
"]C:R[-1]C))"


End With
End If
End If

If Target.Address = "$G$37" Then
Sheets(3).Cells.Find(What:=Target.Offset(-1).Value, _
After:=Sheets(3).Range("A1"), LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows,
SearchDirection:=xlNext, _


MatchCase:=True, SearchFormat:úlse).Offset(,
1).FormulaR1C1 = _


Target.FormulaR1C1
End If

End Sub








1 2