OVH Cloud OVH Cloud

Sélection suivant date

27 réponses
Avatar
Rex
Bonjour

Encore une requête pas facile à expliquer
Mais j'espère pouvoir (encore une fois) compter sur vous

Voici

Sur une feuille "Sales"

J'ai toutes mes ventes

Chaque vente est sur une ligne en A la date, en B le nom, en C la société,
etc

A partir de P j'ai mes produits

Je cherche, pour mes statistiques, à récupérer les ventes par mois

ET OUI JE SAIS que je peux le faire par TDC mais je cherche à créer un
fichier utilisable par tous sans trop de connaissances

Donc ce que je voudrais est ceci

Récupérer et additioner (par exemple) toutes les ventes de la colonnes BP de
la feuille "Sales"
dont la date de la colonne A de cette même feuille "Sales" est entre le
1/1/2007 et le 31/1/2007
Et les mettre sur une feuille "TagetsVSSales" dans la colonne K (les ventes
du mois de janvier)
A mon avis je vais être obligé de passer par macro
Et si c'est le cas il faut tenir compte de ce qui suit

La ligne 1 de la feuille "Sales" comprend (de la colonne P à la colonne DO)
comme titre tous les nom de produits (mais pas consécutif !!!!)

Et, sur ma feuille "TargetsVSales" entre J25 et J45 ces mêmes noms par ordre
alphabétique (uniquement les plus courants)

Tous les noms de mes produits sont définis dans une liste appellées
"TS_Sales_Products" et les mois dans une liste "TS_Monh-th"

Si nécessaire je peux poster le fichier
MAIS il est encore très "désordonné" et pas léger (500k)

En tous les cas merci et à bientôt

Rex

10 réponses

1 2 3
Avatar
Modeste
Bonsour® Rex avec ferveur ;o))) vous nous disiez :

Bon ben je vas essssayai de mettre le feu à ta lanterne :-))))
No ligne A B C

1 Date Produit un Produit deux
2 1/1/2007 5 2
3 2/1/2007 2 4
4 3/1/2007 1 9
5 5/2/2007 4 7


Et sur ma feuille "TargetsVSSales" je voudrais trouver

No ligne A B C

1 Produit Janvier Février
2 Produit un 8 (5+2+1) 4
3 Produit deux 15 (2+4+9) 7




Et voilà ;o)))
sans macro, ni TCD
un petit mix de SOMMEPROD et DECALER...
http://cjoint.com/?fhaJcLcqQM

--
--
@+
;o)))

Avatar
FFO
Bonjours Rex
Fort des derniers élément que tu m'as donnés
Je te propose ce code qui devrait faire pour l'ensemble de tes attentes

'Demande dans une boîte de dialogue du mois à traiter
Mois = InputBox("saisissez le Mois", "Mois traité")
'Recherche de la bonne colonne à alimenter feuille ("TargetsVSSales")
Sheets("TargetsVSSales").Select
Rows("1:1").Select
Selection.Find(What:=Mois, After:¬tiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse, SearchFormat:úlse).Activate
'Adresse de la cellule portant le Mois à traiter
Mois = ActiveCell.Address
'1° boucle traitant chaque produit feuille ("Sales") identifié entre B1 et
C1 (à adapter)
Sheets("Sales").Select
For Each c In Worksheets("Sales").Range("B1", "C1")
R = 0
'2° boucle traitant le produit de la 1° boucle
Sheets("Sales").Select
For Each d In Worksheets("Sales").Range([A1], [A65535].End(xlUp))
If d >= CDate("01/01/2007") And d <= CDate("31/01/2007") Then
l = d.Row
R = R + Range(Mid(c.Address, 2, 1) & l)
End If
Next
'Recopie du résultat du produit dans la feuille (("TargetsVSSales")
Sheets("TargetsVSSales").Select
'Recherche du nom du produit colonne A (à adapter)
For Each e In Worksheets("TargetsVSSales").Range([A2], [A65535].End(xlUp))
If e = c Then
'Recopie du résultat dans la bonne cellule
Range(Mid(Mois, 2, 1) & e.Row) = R
Exit For
End If
Next
Next

Je te propose de tester en l'état ce code avec l'exemple que tu m'as fourni :
1 Date Produit un Produit deux
2 1/1/2007 5 2
3 2/1/2007 2 4
4 3/1/2007 1 9
5 5/2/2007 4 7


Et sur ma feuille "TargetsVSSales" je voudrais trouver

No ligne A B C

1 Produit Janvier Février
2 Produit un 8 (5+2+1) 4
3 Produit deux 15 (2+4+9) 7


Avant d'entamer des modifications en fonction de tes besoins

Une dernière interrogation dans ces paramètres
Lignes :
2 Produit un 8 (5+2+1) 4
3 Produit deux 15 (2+4+9) 7


Que reprèsente le dernier chiffre de chaque ligne : 4 et 7 ???
Merci pour la précision
Dans l'attente de tes impressions !!!




Bon ben je vas essssayai de mettre le feu à ta lanterne :-))))


En simplifier et par exemple (ne pas tenir compte de cellules)

Sur la feuille "Sales" j'aurais


No ligne A B C

1 Date Produit un Produit deux
2 1/1/2007 5 2
3 2/1/2007 2 4
4 3/1/2007 1 9
5 5/2/2007 4 7


Et sur ma feuille "TargetsVSSales" je voudrais trouver

No ligne A B C

1 Produit Janvier Février
2 Produit un 8 (5+2+1) 4
3 Produit deux 15 (2+4+9) 7

Et voilà

J'espère avoir allumé une petite bougie quelque part

Merci

A bientôt

Rex






"FFO" a écrit dans le message de news:

Re bonjours Rex
Je vois que l'on se surpasse en matière de macro
Et avec de beaux résultats !!!!

Mais si tu vois pas d'inconvénient je vais revenir au premier code que je
t'ai proposé avec la correction adéquate pour recopier uniquement la somme
dans la 2° cellule de la colonne K

Voici ce nouveau code :

Sheets("Sales").Select
R = 0
For Each c In Worksheets("Sales").Range([A1], [A65535].End(xlUp))
If c >= CDate("01/01/2007") And c <= CDate("31/01/2007") Then
l = c.Row
R = R + Range("BP" & l)
End If
Next
Sheets("TargetsVSSales").Range("K2") = R

Voilà donc pour la première partie

Celà te convient-il ???

Concernant la 2° partie
Je ne comprends pas que d'un côté on prenne en compte toutes les lignes de
la colonne A situées entre 2 dates d'un côté pour faire la somme des
ventes

correspondantes situées colonne BP et faire une différence en fonction des
nom de colonnes P à DO
Le résultat quelque soit ces colonnes sera toujours identiques considérant
toujours les mêmes lignes (même intervale de dates) et la même colonne
pour

la somme des ventes colonne BP

Il serait bon que tu éclaircisses ma lanterne pour de proposer la solution
adaptée
Dans l'attente



Et oui

Trois réponses consécutive


J'ai un peu "bidouillé" ton code

et ceci fonctionne

MAIS

il ne me compte plus qu'une valeur et plus toutes les valeurs du même
mois


J'ai changé les dates et ajouté les lignes de fin pour faire ce que je
proposais

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Sheets("TargetsVSSales").Select
Range("K25").Select
Sheets("Sales").Select
For Each c In Worksheets("Sales").Range([A1], [A65535].End(xlUp))
Sheets("Sales").Select
If c >= CDate("01/05/2007") And c <= CDate("31/05/2007") Then
l = c.Row
Range("BP" & l).Copy
Sheets("TargetsVSSales").Select
Range("AA2").Select
ActiveSheet.Paste
ActiveCell.Offset(1, 0).Select
Sheets("TargetsVSSales").Select
Range("AA1").Select
ActiveCell.FormulaR1C1 = "=SUM(R[+500]C:R[+1]C)"
Range("AA1").Copy
Sheets("TargetsVSSales").Range("K25").Pastespecial Paste:=xlPasteValues,
Operation:=xlNone, SkipBlanks _
:úlse, Transpose:úlse
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

A bientôt

Rex







"FFO" a écrit dans le message de news:

Salut Rex
J'avoue n'avoir pas tout compris dans ta demande surtout la dernière
partie


En ce qui concerne

Récupérer et additioner (par exemple) toutes les ventes de la colonnes
BP



de
la feuille "Sales"
dont la date de la colonne A de cette même feuille "Sales" est entre
le



1/1/2007 et le 31/1/2007
Et les mettre sur une feuille "TagetsVSSales" dans la colonne K (les
ventes

du mois de janvier)

Je te propose ce code qui fonctionne :

Sheets("TagetsVSSales").Select
Range("K2").Select
Sheets("Sales").Select
For Each c In Worksheets("Sales").Range([A1], [A65535].End(xlUp))
Sheets("Sales").Select
If c >= CDate("01/01/2007") And c <= CDate("31/01/2007") Then
l = c.Row
Range("BP" & l).Copy
Sheets("TagetsVSSales").Select
ActiveSheet.Paste
ActiveCell.Offset(1, 0).Select
End If
Next

Cette première partie te convient elle ???
Peux tu apporter des précisions pour la suite
Merci


Bonjour

Encore une requête pas facile à expliquer
Mais j'espère pouvoir (encore une fois) compter sur vous

Voici

Sur une feuille "Sales"

J'ai toutes mes ventes

Chaque vente est sur une ligne en A la date, en B le nom, en C la
société,


etc

A partir de P j'ai mes produits

Je cherche, pour mes statistiques, à récupérer les ventes par mois

ET OUI JE SAIS que je peux le faire par TDC mais je cherche à créer
un




fichier utilisable par tous sans trop de connaissances

Donc ce que je voudrais est ceci

Récupérer et additioner (par exemple) toutes les ventes de la
colonnes




BP de
la feuille "Sales"
dont la date de la colonne A de cette même feuille "Sales" est entre
le




1/1/2007 et le 31/1/2007
Et les mettre sur une feuille "TagetsVSSales" dans la colonne K (les
ventes


du mois de janvier)
A mon avis je vais être obligé de passer par macro
Et si c'est le cas il faut tenir compte de ce qui suit

La ligne 1 de la feuille "Sales" comprend (de la colonne P à la
colonne




DO)
comme titre tous les nom de produits (mais pas consécutif !!!!)

Et, sur ma feuille "TargetsVSales" entre J25 et J45 ces mêmes noms
par




ordre
alphabétique (uniquement les plus courants)

Tous les noms de mes produits sont définis dans une liste appellées
"TS_Sales_Products" et les mois dans une liste "TS_Monh-th"

Si nécessaire je peux poster le fichier
MAIS il est encore très "désordonné" et pas léger (500k)

En tous les cas merci et à bientôt

Rex





























Avatar
rthompson
Bonjour et merci

Tu te rends bien compte qu'avant d'avoir une réponse
faudra que tu attendes un peu, hein?

A mon avis fin de matinée

A tantôt

Rex

PS
Faut aussi que je regarde ce que Môôôsieur Môôôôôdest nous à fait ;-))))



"FFO" a écrit dans le message de news:

Bonjours Rex
Fort des derniers élément que tu m'as donnés
Je te propose ce code qui devrait faire pour l'ensemble de tes attentes

'Demande dans une boîte de dialogue du mois à traiter
Mois = InputBox("saisissez le Mois", "Mois traité")
'Recherche de la bonne colonne à alimenter feuille ("TargetsVSSales")
Sheets("TargetsVSSales").Select
Rows("1:1").Select
Selection.Find(What:=Mois, After:¬tiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse, SearchFormat:úlse).Activate
'Adresse de la cellule portant le Mois à traiter
Mois = ActiveCell.Address
'1° boucle traitant chaque produit feuille ("Sales") identifié entre B1
et
C1 (à adapter)
Sheets("Sales").Select
For Each c In Worksheets("Sales").Range("B1", "C1")
R = 0
'2° boucle traitant le produit de la 1° boucle
Sheets("Sales").Select
For Each d In Worksheets("Sales").Range([A1], [A65535].End(xlUp))
If d >= CDate("01/01/2007") And d <= CDate("31/01/2007") Then
l = d.Row
R = R + Range(Mid(c.Address, 2, 1) & l)
End If
Next
'Recopie du résultat du produit dans la feuille (("TargetsVSSales")
Sheets("TargetsVSSales").Select
'Recherche du nom du produit colonne A (à adapter)
For Each e In Worksheets("TargetsVSSales").Range([A2], [A65535].End(xlUp))
If e = c Then
'Recopie du résultat dans la bonne cellule
Range(Mid(Mois, 2, 1) & e.Row) = R
Exit For
End If
Next
Next

Je te propose de tester en l'état ce code avec l'exemple que tu m'as
fourni :
1 Date Produit un Produit deux
2 1/1/2007 5 2
3 2/1/2007 2 4
4 3/1/2007 1 9
5 5/2/2007 4 7


Et sur ma feuille "TargetsVSSales" je voudrais trouver

No ligne A B C

1 Produit Janvier Février
2 Produit un 8 (5+2+1) 4
3 Produit deux 15 (2+4+9) 7


Avant d'entamer des modifications en fonction de tes besoins

Une dernière interrogation dans ces paramètres
Lignes :
2 Produit un 8 (5+2+1) 4
3 Produit deux 15 (2+4+9) 7


Que reprèsente le dernier chiffre de chaque ligne : 4 et 7 ???
Merci pour la précision
Dans l'attente de tes impressions !!!




Bon ben je vas essssayai de mettre le feu à ta lanterne :-))))


En simplifier et par exemple (ne pas tenir compte de cellules)

Sur la feuille "Sales" j'aurais


No ligne A B C

1 Date Produit un Produit deux
2 1/1/2007 5 2
3 2/1/2007 2 4
4 3/1/2007 1 9
5 5/2/2007 4 7


Et sur ma feuille "TargetsVSSales" je voudrais trouver

No ligne A B C

1 Produit Janvier
Février
2 Produit un 8 (5+2+1) 4
3 Produit deux 15 (2+4+9) 7

Et voilà

J'espère avoir allumé une petite bougie quelque part

Merci

A bientôt

Rex






"FFO" a écrit dans le message de news:

Re bonjours Rex
Je vois que l'on se surpasse en matière de macro
Et avec de beaux résultats !!!!

Mais si tu vois pas d'inconvénient je vais revenir au premier code que
je
t'ai proposé avec la correction adéquate pour recopier uniquement la
somme
dans la 2° cellule de la colonne K

Voici ce nouveau code :

Sheets("Sales").Select
R = 0
For Each c In Worksheets("Sales").Range([A1], [A65535].End(xlUp))
If c >= CDate("01/01/2007") And c <= CDate("31/01/2007") Then
l = c.Row
R = R + Range("BP" & l)
End If
Next
Sheets("TargetsVSSales").Range("K2") = R

Voilà donc pour la première partie

Celà te convient-il ???

Concernant la 2° partie
Je ne comprends pas que d'un côté on prenne en compte toutes les lignes
de
la colonne A situées entre 2 dates d'un côté pour faire la somme des
ventes

correspondantes situées colonne BP et faire une différence en fonction
des
nom de colonnes P à DO
Le résultat quelque soit ces colonnes sera toujours identiques
considérant
toujours les mêmes lignes (même intervale de dates) et la même colonne
pour

la somme des ventes colonne BP

Il serait bon que tu éclaircisses ma lanterne pour de proposer la
solution
adaptée
Dans l'attente



Et oui

Trois réponses consécutive


J'ai un peu "bidouillé" ton code

et ceci fonctionne

MAIS

il ne me compte plus qu'une valeur et plus toutes les valeurs du même
mois


J'ai changé les dates et ajouté les lignes de fin pour faire ce que
je
proposais

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Sheets("TargetsVSSales").Select
Range("K25").Select
Sheets("Sales").Select
For Each c In Worksheets("Sales").Range([A1], [A65535].End(xlUp))
Sheets("Sales").Select
If c >= CDate("01/05/2007") And c <= CDate("31/05/2007") Then
l = c.Row
Range("BP" & l).Copy
Sheets("TargetsVSSales").Select
Range("AA2").Select
ActiveSheet.Paste
ActiveCell.Offset(1, 0).Select
Sheets("TargetsVSSales").Select
Range("AA1").Select
ActiveCell.FormulaR1C1 = "=SUM(R[+500]C:R[+1]C)"
Range("AA1").Copy
Sheets("TargetsVSSales").Range("K25").Pastespecial
Paste:=xlPasteValues,
Operation:=xlNone, SkipBlanks _
:úlse, Transpose:úlse
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

A bientôt

Rex







"FFO" a écrit dans le message de
news:

Salut Rex
J'avoue n'avoir pas tout compris dans ta demande surtout la
dernière
partie


En ce qui concerne

Récupérer et additioner (par exemple) toutes les ventes de la
colonnes
BP



de
la feuille "Sales"
dont la date de la colonne A de cette même feuille "Sales" est
entre
le



1/1/2007 et le 31/1/2007
Et les mettre sur une feuille "TagetsVSSales" dans la colonne K
(les
ventes

du mois de janvier)

Je te propose ce code qui fonctionne :

Sheets("TagetsVSSales").Select
Range("K2").Select
Sheets("Sales").Select
For Each c In Worksheets("Sales").Range([A1], [A65535].End(xlUp))
Sheets("Sales").Select
If c >= CDate("01/01/2007") And c <= CDate("31/01/2007") Then
l = c.Row
Range("BP" & l).Copy
Sheets("TagetsVSSales").Select
ActiveSheet.Paste
ActiveCell.Offset(1, 0).Select
End If
Next

Cette première partie te convient elle ???
Peux tu apporter des précisions pour la suite
Merci


Bonjour

Encore une requête pas facile à expliquer
Mais j'espère pouvoir (encore une fois) compter sur vous

Voici

Sur une feuille "Sales"

J'ai toutes mes ventes

Chaque vente est sur une ligne en A la date, en B le nom, en C
la
société,


etc

A partir de P j'ai mes produits

Je cherche, pour mes statistiques, à récupérer les ventes par
mois

ET OUI JE SAIS que je peux le faire par TDC mais je cherche à
créer
un




fichier utilisable par tous sans trop de connaissances

Donc ce que je voudrais est ceci

Récupérer et additioner (par exemple) toutes les ventes de la
colonnes




BP de
la feuille "Sales"
dont la date de la colonne A de cette même feuille "Sales" est
entre
le




1/1/2007 et le 31/1/2007
Et les mettre sur une feuille "TagetsVSSales" dans la colonne K
(les
ventes


du mois de janvier)
A mon avis je vais être obligé de passer par macro
Et si c'est le cas il faut tenir compte de ce qui suit

La ligne 1 de la feuille "Sales" comprend (de la colonne P à la
colonne




DO)
comme titre tous les nom de produits (mais pas consécutif !!!!)

Et, sur ma feuille "TargetsVSales" entre J25 et J45 ces mêmes
noms
par




ordre
alphabétique (uniquement les plus courants)

Tous les noms de mes produits sont définis dans une liste
appellées
"TS_Sales_Products" et les mois dans une liste "TS_Monh-th"

Si nécessaire je peux poster le fichier
MAIS il est encore très "désordonné" et pas léger (500k)

En tous les cas merci et à bientôt

Rex































Avatar
rthompson
Bonjour

Merci d'avoir (une fois de plus) pris le temps de me répondre et de répandre
tes connaissances

Répendre ou répandre?????
Bref tu distribues

Comme je l'ai dis à FFo, faudra que je "look at all this" à mon aise

Je te tiens au courant fin de matinée

A bientôt

Rex



"Modeste" a écrit dans le message de news:
%23Lg%
Bonsour® Rex avec ferveur ;o))) vous nous disiez :

Bon ben je vas essssayai de mettre le feu à ta lanterne :-))))
No ligne A B C

1 Date Produit un Produit deux
2 1/1/2007 5 2
3 2/1/2007 2 4
4 3/1/2007 1 9
5 5/2/2007 4 7


Et sur ma feuille "TargetsVSSales" je voudrais trouver

No ligne A B C

1 Produit Janvier
Février
2 Produit un 8 (5+2+1) 4
3 Produit deux 15 (2+4+9) 7




Et voilà ;o)))
sans macro, ni TCD
un petit mix de SOMMEPROD et DECALER...
http://cjoint.com/?fhaJcLcqQM

--
--
@+
;o)))





Avatar
rthompson
Bonjour


Une petite question

Au début de ta macro tu fais un

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Rows("1:1").Select
Selection.Find(What:=Mois, After:¬tiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse, SearchFormat:úlse).Activate
'Adresse de la cellule portant le Mois à traiter
Mois = ActiveCell.Address
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Pour le moment il se plante à cet endroit

Que cherche-t-il?

dois-je créer un colonne mois en plus de la date?
Et puis bien sur, je dois créer une colonne pour les résultats

Pour le moment je travail sur un fichier vierge avec une seul feuille

A bientôt

Rex



"FFO" a écrit dans le message de news:

Bonjours Rex
Fort des derniers élément que tu m'as donnés
Je te propose ce code qui devrait faire pour l'ensemble de tes attentes

'Demande dans une boîte de dialogue du mois à traiter
Mois = InputBox("saisissez le Mois", "Mois traité")
'Recherche de la bonne colonne à alimenter feuille ("TargetsVSSales")
Sheets("TargetsVSSales").Select
Rows("1:1").Select
Selection.Find(What:=Mois, After:¬tiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse, SearchFormat:úlse).Activate
'Adresse de la cellule portant le Mois à traiter
Mois = ActiveCell.Address
'1° boucle traitant chaque produit feuille ("Sales") identifié entre B1
et
C1 (à adapter)
Sheets("Sales").Select
For Each c In Worksheets("Sales").Range("B1", "C1")
R = 0
'2° boucle traitant le produit de la 1° boucle
Sheets("Sales").Select
For Each d In Worksheets("Sales").Range([A1], [A65535].End(xlUp))
If d >= CDate("01/01/2007") And d <= CDate("31/01/2007") Then
l = d.Row
R = R + Range(Mid(c.Address, 2, 1) & l)
End If
Next
'Recopie du résultat du produit dans la feuille (("TargetsVSSales")
Sheets("TargetsVSSales").Select
'Recherche du nom du produit colonne A (à adapter)
For Each e In Worksheets("TargetsVSSales").Range([A2], [A65535].End(xlUp))
If e = c Then
'Recopie du résultat dans la bonne cellule
Range(Mid(Mois, 2, 1) & e.Row) = R
Exit For
End If
Next
Next

Je te propose de tester en l'état ce code avec l'exemple que tu m'as
fourni :
1 Date Produit un Produit deux
2 1/1/2007 5 2
3 2/1/2007 2 4
4 3/1/2007 1 9
5 5/2/2007 4 7


Et sur ma feuille "TargetsVSSales" je voudrais trouver

No ligne A B C

1 Produit Janvier Février
2 Produit un 8 (5+2+1) 4
3 Produit deux 15 (2+4+9) 7


Avant d'entamer des modifications en fonction de tes besoins

Une dernière interrogation dans ces paramètres
Lignes :
2 Produit un 8 (5+2+1) 4
3 Produit deux 15 (2+4+9) 7


Que reprèsente le dernier chiffre de chaque ligne : 4 et 7 ???
Merci pour la précision
Dans l'attente de tes impressions !!!




Bon ben je vas essssayai de mettre le feu à ta lanterne :-))))


En simplifier et par exemple (ne pas tenir compte de cellules)

Sur la feuille "Sales" j'aurais


No ligne A B C

1 Date Produit un Produit deux
2 1/1/2007 5 2
3 2/1/2007 2 4
4 3/1/2007 1 9
5 5/2/2007 4 7


Et sur ma feuille "TargetsVSSales" je voudrais trouver

No ligne A B C

1 Produit Janvier
Février
2 Produit un 8 (5+2+1) 4
3 Produit deux 15 (2+4+9) 7

Et voilà

J'espère avoir allumé une petite bougie quelque part

Merci

A bientôt

Rex






"FFO" a écrit dans le message de news:

Re bonjours Rex
Je vois que l'on se surpasse en matière de macro
Et avec de beaux résultats !!!!

Mais si tu vois pas d'inconvénient je vais revenir au premier code que
je
t'ai proposé avec la correction adéquate pour recopier uniquement la
somme
dans la 2° cellule de la colonne K

Voici ce nouveau code :

Sheets("Sales").Select
R = 0
For Each c In Worksheets("Sales").Range([A1], [A65535].End(xlUp))
If c >= CDate("01/01/2007") And c <= CDate("31/01/2007") Then
l = c.Row
R = R + Range("BP" & l)
End If
Next
Sheets("TargetsVSSales").Range("K2") = R

Voilà donc pour la première partie

Celà te convient-il ???

Concernant la 2° partie
Je ne comprends pas que d'un côté on prenne en compte toutes les lignes
de
la colonne A situées entre 2 dates d'un côté pour faire la somme des
ventes

correspondantes situées colonne BP et faire une différence en fonction
des
nom de colonnes P à DO
Le résultat quelque soit ces colonnes sera toujours identiques
considérant
toujours les mêmes lignes (même intervale de dates) et la même colonne
pour

la somme des ventes colonne BP

Il serait bon que tu éclaircisses ma lanterne pour de proposer la
solution
adaptée
Dans l'attente



Et oui

Trois réponses consécutive


J'ai un peu "bidouillé" ton code

et ceci fonctionne

MAIS

il ne me compte plus qu'une valeur et plus toutes les valeurs du même
mois


J'ai changé les dates et ajouté les lignes de fin pour faire ce que
je
proposais

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Sheets("TargetsVSSales").Select
Range("K25").Select
Sheets("Sales").Select
For Each c In Worksheets("Sales").Range([A1], [A65535].End(xlUp))
Sheets("Sales").Select
If c >= CDate("01/05/2007") And c <= CDate("31/05/2007") Then
l = c.Row
Range("BP" & l).Copy
Sheets("TargetsVSSales").Select
Range("AA2").Select
ActiveSheet.Paste
ActiveCell.Offset(1, 0).Select
Sheets("TargetsVSSales").Select
Range("AA1").Select
ActiveCell.FormulaR1C1 = "=SUM(R[+500]C:R[+1]C)"
Range("AA1").Copy
Sheets("TargetsVSSales").Range("K25").Pastespecial
Paste:=xlPasteValues,
Operation:=xlNone, SkipBlanks _
:úlse, Transpose:úlse
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

A bientôt

Rex







"FFO" a écrit dans le message de
news:

Salut Rex
J'avoue n'avoir pas tout compris dans ta demande surtout la
dernière
partie


En ce qui concerne

Récupérer et additioner (par exemple) toutes les ventes de la
colonnes
BP



de
la feuille "Sales"
dont la date de la colonne A de cette même feuille "Sales" est
entre
le



1/1/2007 et le 31/1/2007
Et les mettre sur une feuille "TagetsVSSales" dans la colonne K
(les
ventes

du mois de janvier)

Je te propose ce code qui fonctionne :

Sheets("TagetsVSSales").Select
Range("K2").Select
Sheets("Sales").Select
For Each c In Worksheets("Sales").Range([A1], [A65535].End(xlUp))
Sheets("Sales").Select
If c >= CDate("01/01/2007") And c <= CDate("31/01/2007") Then
l = c.Row
Range("BP" & l).Copy
Sheets("TagetsVSSales").Select
ActiveSheet.Paste
ActiveCell.Offset(1, 0).Select
End If
Next

Cette première partie te convient elle ???
Peux tu apporter des précisions pour la suite
Merci


Bonjour

Encore une requête pas facile à expliquer
Mais j'espère pouvoir (encore une fois) compter sur vous

Voici

Sur une feuille "Sales"

J'ai toutes mes ventes

Chaque vente est sur une ligne en A la date, en B le nom, en C
la
société,


etc

A partir de P j'ai mes produits

Je cherche, pour mes statistiques, à récupérer les ventes par
mois

ET OUI JE SAIS que je peux le faire par TDC mais je cherche à
créer
un




fichier utilisable par tous sans trop de connaissances

Donc ce que je voudrais est ceci

Récupérer et additioner (par exemple) toutes les ventes de la
colonnes




BP de
la feuille "Sales"
dont la date de la colonne A de cette même feuille "Sales" est
entre
le




1/1/2007 et le 31/1/2007
Et les mettre sur une feuille "TagetsVSSales" dans la colonne K
(les
ventes


du mois de janvier)
A mon avis je vais être obligé de passer par macro
Et si c'est le cas il faut tenir compte de ce qui suit

La ligne 1 de la feuille "Sales" comprend (de la colonne P à la
colonne




DO)
comme titre tous les nom de produits (mais pas consécutif !!!!)

Et, sur ma feuille "TargetsVSales" entre J25 et J45 ces mêmes
noms
par




ordre
alphabétique (uniquement les plus courants)

Tous les noms de mes produits sont définis dans une liste
appellées
"TS_Sales_Products" et les mois dans une liste "TS_Monh-th"

Si nécessaire je peux poster le fichier
MAIS il est encore très "désordonné" et pas léger (500k)

En tous les cas merci et à bientôt

Rex































Avatar
rthompson
Une ereur de ma part

J'avais oublié de renommer une de tes Sales en TargetsVSSales puis que je
n'ai qu'une feuille nommée TargetsVSSales

Maintenant elle ne bloque plus

MAIS

Quand elle termine, elle n'a rien inscrit
Et la ligne 1 et sélectionné

Qu'est-ce que je fais de mal?

A bientôt

Rex


"rthompson" a écrit dans le message de
news:
Bonjour


Une petite question

Au début de ta macro tu fais un

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Rows("1:1").Select
Selection.Find(What:=Mois, After:¬tiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse, SearchFormat:úlse).Activate
'Adresse de la cellule portant le Mois à traiter
Mois = ActiveCell.Address
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Pour le moment il se plante à cet endroit

Que cherche-t-il?

dois-je créer un colonne mois en plus de la date?
Et puis bien sur, je dois créer une colonne pour les résultats

Pour le moment je travail sur un fichier vierge avec une seul feuille

A bientôt

Rex



"FFO" a écrit dans le message de news:

Bonjours Rex
Fort des derniers élément que tu m'as donnés
Je te propose ce code qui devrait faire pour l'ensemble de tes attentes

'Demande dans une boîte de dialogue du mois à traiter
Mois = InputBox("saisissez le Mois", "Mois traité")
'Recherche de la bonne colonne à alimenter feuille ("TargetsVSSales")
Sheets("TargetsVSSales").Select
Rows("1:1").Select
Selection.Find(What:=Mois, After:¬tiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse, SearchFormat:úlse).Activate
'Adresse de la cellule portant le Mois à traiter
Mois = ActiveCell.Address
'1° boucle traitant chaque produit feuille ("Sales") identifié entre B1
et
C1 (à adapter)
Sheets("Sales").Select
For Each c In Worksheets("Sales").Range("B1", "C1")
R = 0
'2° boucle traitant le produit de la 1° boucle
Sheets("Sales").Select
For Each d In Worksheets("Sales").Range([A1], [A65535].End(xlUp))
If d >= CDate("01/01/2007") And d <= CDate("31/01/2007") Then
l = d.Row
R = R + Range(Mid(c.Address, 2, 1) & l)
End If
Next
'Recopie du résultat du produit dans la feuille (("TargetsVSSales")
Sheets("TargetsVSSales").Select
'Recherche du nom du produit colonne A (à adapter)
For Each e In Worksheets("TargetsVSSales").Range([A2],
[A65535].End(xlUp))
If e = c Then
'Recopie du résultat dans la bonne cellule
Range(Mid(Mois, 2, 1) & e.Row) = R
Exit For
End If
Next
Next

Je te propose de tester en l'état ce code avec l'exemple que tu m'as
fourni :
1 Date Produit un Produit deux
2 1/1/2007 5 2
3 2/1/2007 2 4
4 3/1/2007 1 9
5 5/2/2007 4 7


Et sur ma feuille "TargetsVSSales" je voudrais trouver

No ligne A B C

1 Produit Janvier Février
2 Produit un 8 (5+2+1) 4
3 Produit deux 15 (2+4+9) 7


Avant d'entamer des modifications en fonction de tes besoins

Une dernière interrogation dans ces paramètres
Lignes :
2 Produit un 8 (5+2+1) 4
3 Produit deux 15 (2+4+9) 7


Que reprèsente le dernier chiffre de chaque ligne : 4 et 7 ???
Merci pour la précision
Dans l'attente de tes impressions !!!




Bon ben je vas essssayai de mettre le feu à ta lanterne :-))))


En simplifier et par exemple (ne pas tenir compte de cellules)

Sur la feuille "Sales" j'aurais


No ligne A B C

1 Date Produit un Produit deux
2 1/1/2007 5 2
3 2/1/2007 2 4
4 3/1/2007 1 9
5 5/2/2007 4 7


Et sur ma feuille "TargetsVSSales" je voudrais trouver

No ligne A B C

1 Produit Janvier Février
2 Produit un 8 (5+2+1) 4
3 Produit deux 15 (2+4+9) 7

Et voilà

J'espère avoir allumé une petite bougie quelque part

Merci

A bientôt

Rex






"FFO" a écrit dans le message de news:

Re bonjours Rex
Je vois que l'on se surpasse en matière de macro
Et avec de beaux résultats !!!!

Mais si tu vois pas d'inconvénient je vais revenir au premier code que
je
t'ai proposé avec la correction adéquate pour recopier uniquement la
somme
dans la 2° cellule de la colonne K

Voici ce nouveau code :

Sheets("Sales").Select
R = 0
For Each c In Worksheets("Sales").Range([A1], [A65535].End(xlUp))
If c >= CDate("01/01/2007") And c <= CDate("31/01/2007") Then
l = c.Row
R = R + Range("BP" & l)
End If
Next
Sheets("TargetsVSSales").Range("K2") = R

Voilà donc pour la première partie

Celà te convient-il ???

Concernant la 2° partie
Je ne comprends pas que d'un côté on prenne en compte toutes les
lignes de
la colonne A situées entre 2 dates d'un côté pour faire la somme des
ventes

correspondantes situées colonne BP et faire une différence en fonction
des
nom de colonnes P à DO
Le résultat quelque soit ces colonnes sera toujours identiques
considérant
toujours les mêmes lignes (même intervale de dates) et la même colonne
pour

la somme des ventes colonne BP

Il serait bon que tu éclaircisses ma lanterne pour de proposer la
solution
adaptée
Dans l'attente



Et oui

Trois réponses consécutive


J'ai un peu "bidouillé" ton code

et ceci fonctionne

MAIS

il ne me compte plus qu'une valeur et plus toutes les valeurs du
même
mois


J'ai changé les dates et ajouté les lignes de fin pour faire ce que
je
proposais

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Sheets("TargetsVSSales").Select
Range("K25").Select
Sheets("Sales").Select
For Each c In Worksheets("Sales").Range([A1], [A65535].End(xlUp))
Sheets("Sales").Select
If c >= CDate("01/05/2007") And c <= CDate("31/05/2007") Then
l = c.Row
Range("BP" & l).Copy
Sheets("TargetsVSSales").Select
Range("AA2").Select
ActiveSheet.Paste
ActiveCell.Offset(1, 0).Select
Sheets("TargetsVSSales").Select
Range("AA1").Select
ActiveCell.FormulaR1C1 = "=SUM(R[+500]C:R[+1]C)"
Range("AA1").Copy
Sheets("TargetsVSSales").Range("K25").Pastespecial
Paste:=xlPasteValues,
Operation:=xlNone, SkipBlanks _
:úlse, Transpose:úlse
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

A bientôt

Rex







"FFO" a écrit dans le message de
news:

Salut Rex
J'avoue n'avoir pas tout compris dans ta demande surtout la
dernière
partie


En ce qui concerne

Récupérer et additioner (par exemple) toutes les ventes de la
colonnes
BP



de
la feuille "Sales"
dont la date de la colonne A de cette même feuille "Sales" est
entre
le



1/1/2007 et le 31/1/2007
Et les mettre sur une feuille "TagetsVSSales" dans la colonne K
(les
ventes

du mois de janvier)

Je te propose ce code qui fonctionne :

Sheets("TagetsVSSales").Select
Range("K2").Select
Sheets("Sales").Select
For Each c In Worksheets("Sales").Range([A1], [A65535].End(xlUp))
Sheets("Sales").Select
If c >= CDate("01/01/2007") And c <= CDate("31/01/2007") Then
l = c.Row
Range("BP" & l).Copy
Sheets("TagetsVSSales").Select
ActiveSheet.Paste
ActiveCell.Offset(1, 0).Select
End If
Next

Cette première partie te convient elle ???
Peux tu apporter des précisions pour la suite
Merci


Bonjour

Encore une requête pas facile à expliquer
Mais j'espère pouvoir (encore une fois) compter sur vous

Voici

Sur une feuille "Sales"

J'ai toutes mes ventes

Chaque vente est sur une ligne en A la date, en B le nom, en C
la
société,


etc

A partir de P j'ai mes produits

Je cherche, pour mes statistiques, à récupérer les ventes par
mois

ET OUI JE SAIS que je peux le faire par TDC mais je cherche à
créer
un




fichier utilisable par tous sans trop de connaissances

Donc ce que je voudrais est ceci

Récupérer et additioner (par exemple) toutes les ventes de la
colonnes




BP de
la feuille "Sales"
dont la date de la colonne A de cette même feuille "Sales" est
entre
le




1/1/2007 et le 31/1/2007
Et les mettre sur une feuille "TagetsVSSales" dans la colonne K
(les
ventes


du mois de janvier)
A mon avis je vais être obligé de passer par macro
Et si c'est le cas il faut tenir compte de ce qui suit

La ligne 1 de la feuille "Sales" comprend (de la colonne P à la
colonne




DO)
comme titre tous les nom de produits (mais pas consécutif !!!!)

Et, sur ma feuille "TargetsVSales" entre J25 et J45 ces mêmes
noms
par




ordre
alphabétique (uniquement les plus courants)

Tous les noms de mes produits sont définis dans une liste
appellées
"TS_Sales_Products" et les mois dans une liste "TS_Monh-th"

Si nécessaire je peux poster le fichier
MAIS il est encore très "désordonné" et pas léger (500k)

En tous les cas merci et à bientôt

Rex



































Avatar
FFO
Et ce qui précède est resté coincé dans ta souris !!!! :

'Demande dans une boîte de dialogue du mois à traiter
Mois = InputBox("saisissez le Mois", "Mois traité")
'Recherche de la bonne colonne à alimenter feuille ("TargetsVSSales")
Sheets("TargetsVSSales").Select

Mois est le paramètre que saisie l'utilisateur dans une boîte de dialogue
pour identifier celui que l'on traite dans la ligne que tu as oubliée :
Mois = InputBox("saisissez le Mois", "Mois traité")
ce qui permet en fin de code de mettre le résultat dans la bonne cellule de
la bonne colonne feuille "TargetsVSSales"

Est ce plus claire ainsi !!!

N'hèsite pas à prendre l'intégralité de mon code de :

'Demande dans une boîte de dialogue du mois à traiter
à
Next
Next

et ainsi d'avoir toutes les chances de ne pas avoir de bug

Donne moi tes impressions !!!


Bonjour


Une petite question

Au début de ta macro tu fais un

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Rows("1:1").Select
Selection.Find(What:=Mois, After:¬tiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse, SearchFormat:úlse).Activate
'Adresse de la cellule portant le Mois à traiter
Mois = ActiveCell.Address
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Pour le moment il se plante à cet endroit

Que cherche-t-il?

dois-je créer un colonne mois en plus de la date?
Et puis bien sur, je dois créer une colonne pour les résultats

Pour le moment je travail sur un fichier vierge avec une seul feuille

A bientôt

Rex



"FFO" a écrit dans le message de news:

Bonjours Rex
Fort des derniers élément que tu m'as donnés
Je te propose ce code qui devrait faire pour l'ensemble de tes attentes

'Demande dans une boîte de dialogue du mois à traiter
Mois = InputBox("saisissez le Mois", "Mois traité")
'Recherche de la bonne colonne à alimenter feuille ("TargetsVSSales")
Sheets("TargetsVSSales").Select
Rows("1:1").Select
Selection.Find(What:=Mois, After:¬tiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse, SearchFormat:úlse).Activate
'Adresse de la cellule portant le Mois à traiter
Mois = ActiveCell.Address
'1° boucle traitant chaque produit feuille ("Sales") identifié entre B1
et
C1 (à adapter)
Sheets("Sales").Select
For Each c In Worksheets("Sales").Range("B1", "C1")
R = 0
'2° boucle traitant le produit de la 1° boucle
Sheets("Sales").Select
For Each d In Worksheets("Sales").Range([A1], [A65535].End(xlUp))
If d >= CDate("01/01/2007") And d <= CDate("31/01/2007") Then
l = d.Row
R = R + Range(Mid(c.Address, 2, 1) & l)
End If
Next
'Recopie du résultat du produit dans la feuille (("TargetsVSSales")
Sheets("TargetsVSSales").Select
'Recherche du nom du produit colonne A (à adapter)
For Each e In Worksheets("TargetsVSSales").Range([A2], [A65535].End(xlUp))
If e = c Then
'Recopie du résultat dans la bonne cellule
Range(Mid(Mois, 2, 1) & e.Row) = R
Exit For
End If
Next
Next

Je te propose de tester en l'état ce code avec l'exemple que tu m'as
fourni :
1 Date Produit un Produit deux
2 1/1/2007 5 2
3 2/1/2007 2 4
4 3/1/2007 1 9
5 5/2/2007 4 7


Et sur ma feuille "TargetsVSSales" je voudrais trouver

No ligne A B C

1 Produit Janvier Février
2 Produit un 8 (5+2+1) 4
3 Produit deux 15 (2+4+9) 7


Avant d'entamer des modifications en fonction de tes besoins

Une dernière interrogation dans ces paramètres
Lignes :
2 Produit un 8 (5+2+1) 4
3 Produit deux 15 (2+4+9) 7


Que reprèsente le dernier chiffre de chaque ligne : 4 et 7 ???
Merci pour la précision
Dans l'attente de tes impressions !!!




Bon ben je vas essssayai de mettre le feu à ta lanterne :-))))


En simplifier et par exemple (ne pas tenir compte de cellules)

Sur la feuille "Sales" j'aurais


No ligne A B C

1 Date Produit un Produit deux
2 1/1/2007 5 2
3 2/1/2007 2 4
4 3/1/2007 1 9
5 5/2/2007 4 7


Et sur ma feuille "TargetsVSSales" je voudrais trouver

No ligne A B C

1 Produit Janvier
Février
2 Produit un 8 (5+2+1) 4
3 Produit deux 15 (2+4+9) 7

Et voilà

J'espère avoir allumé une petite bougie quelque part

Merci

A bientôt

Rex






"FFO" a écrit dans le message de news:

Re bonjours Rex
Je vois que l'on se surpasse en matière de macro
Et avec de beaux résultats !!!!

Mais si tu vois pas d'inconvénient je vais revenir au premier code que
je
t'ai proposé avec la correction adéquate pour recopier uniquement la
somme
dans la 2° cellule de la colonne K

Voici ce nouveau code :

Sheets("Sales").Select
R = 0
For Each c In Worksheets("Sales").Range([A1], [A65535].End(xlUp))
If c >= CDate("01/01/2007") And c <= CDate("31/01/2007") Then
l = c.Row
R = R + Range("BP" & l)
End If
Next
Sheets("TargetsVSSales").Range("K2") = R

Voilà donc pour la première partie

Celà te convient-il ???

Concernant la 2° partie
Je ne comprends pas que d'un côté on prenne en compte toutes les lignes
de
la colonne A situées entre 2 dates d'un côté pour faire la somme des
ventes

correspondantes situées colonne BP et faire une différence en fonction
des
nom de colonnes P à DO
Le résultat quelque soit ces colonnes sera toujours identiques
considérant
toujours les mêmes lignes (même intervale de dates) et la même colonne
pour

la somme des ventes colonne BP

Il serait bon que tu éclaircisses ma lanterne pour de proposer la
solution
adaptée
Dans l'attente



Et oui

Trois réponses consécutive


J'ai un peu "bidouillé" ton code

et ceci fonctionne

MAIS

il ne me compte plus qu'une valeur et plus toutes les valeurs du même
mois


J'ai changé les dates et ajouté les lignes de fin pour faire ce que
je
proposais

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Sheets("TargetsVSSales").Select
Range("K25").Select
Sheets("Sales").Select
For Each c In Worksheets("Sales").Range([A1], [A65535].End(xlUp))
Sheets("Sales").Select
If c >= CDate("01/05/2007") And c <= CDate("31/05/2007") Then
l = c.Row
Range("BP" & l).Copy
Sheets("TargetsVSSales").Select
Range("AA2").Select
ActiveSheet.Paste
ActiveCell.Offset(1, 0).Select
Sheets("TargetsVSSales").Select
Range("AA1").Select
ActiveCell.FormulaR1C1 = "=SUM(R[+500]C:R[+1]C)"
Range("AA1").Copy
Sheets("TargetsVSSales").Range("K25").Pastespecial
Paste:=xlPasteValues,
Operation:=xlNone, SkipBlanks _
:úlse, Transpose:úlse
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

A bientôt

Rex







"FFO" a écrit dans le message de
news:

Salut Rex
J'avoue n'avoir pas tout compris dans ta demande surtout la
dernière
partie


En ce qui concerne

Récupérer et additioner (par exemple) toutes les ventes de la
colonnes
BP



de
la feuille "Sales"
dont la date de la colonne A de cette même feuille "Sales" est
entre
le



1/1/2007 et le 31/1/2007
Et les mettre sur une feuille "TagetsVSSales" dans la colonne K
(les
ventes

du mois de janvier)

Je te propose ce code qui fonctionne :

Sheets("TagetsVSSales").Select
Range("K2").Select
Sheets("Sales").Select
For Each c In Worksheets("Sales").Range([A1], [A65535].End(xlUp))
Sheets("Sales").Select
If c >= CDate("01/01/2007") And c <= CDate("31/01/2007") Then
l = c.Row
Range("BP" & l).Copy
Sheets("TagetsVSSales").Select
ActiveSheet.Paste
ActiveCell.Offset(1, 0).Select
End If
Next

Cette première partie te convient elle ???
Peux tu apporter des précisions pour la suite
Merci


Bonjour

Encore une requête pas facile à expliquer
Mais j'espère pouvoir (encore une fois) compter sur vous

Voici

Sur une feuille "Sales"















Avatar
rthompson
Bonjour

Oui j'ai mis l'intégrale

et il me demande de donner le mois

Et pour me simplifier les test j'ai mis sur la même feuille en G1, H1, I1,
J1 les mois janvier, février, mars, avril
Tout vas bien il ne bloque pas mais toute la ligne un est sélectionnée

PS

J'ai même violament secoué ma souris pour lui faire cracher le morceau sans
succès

Regarde ceci http://cjoint.com/?fhlFpxr7l0


A bientôt

Rex



"FFO" a écrit dans le message de news:

Et ce qui précède est resté coincé dans ta souris !!!! :

'Demande dans une boîte de dialogue du mois à traiter
Mois = InputBox("saisissez le Mois", "Mois traité")
'Recherche de la bonne colonne à alimenter feuille ("TargetsVSSales")
Sheets("TargetsVSSales").Select

Mois est le paramètre que saisie l'utilisateur dans une boîte de dialogue
pour identifier celui que l'on traite dans la ligne que tu as oubliée :
Mois = InputBox("saisissez le Mois", "Mois traité")
ce qui permet en fin de code de mettre le résultat dans la bonne cellule
de
la bonne colonne feuille "TargetsVSSales"

Est ce plus claire ainsi !!!

N'hèsite pas à prendre l'intégralité de mon code de :

'Demande dans une boîte de dialogue du mois à traiter
à
Next
Next

et ainsi d'avoir toutes les chances de ne pas avoir de bug

Donne moi tes impressions !!!


Bonjour


Une petite question

Au début de ta macro tu fais un

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Rows("1:1").Select
Selection.Find(What:=Mois, After:¬tiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse, SearchFormat:úlse).Activate
'Adresse de la cellule portant le Mois à traiter
Mois = ActiveCell.Address
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Pour le moment il se plante à cet endroit

Que cherche-t-il?

dois-je créer un colonne mois en plus de la date?
Et puis bien sur, je dois créer une colonne pour les résultats

Pour le moment je travail sur un fichier vierge avec une seul feuille

A bientôt

Rex



"FFO" a écrit dans le message de news:

Bonjours Rex
Fort des derniers élément que tu m'as donnés
Je te propose ce code qui devrait faire pour l'ensemble de tes attentes

'Demande dans une boîte de dialogue du mois à traiter
Mois = InputBox("saisissez le Mois", "Mois traité")
'Recherche de la bonne colonne à alimenter feuille ("TargetsVSSales")
Sheets("TargetsVSSales").Select
Rows("1:1").Select
Selection.Find(What:=Mois, After:¬tiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
_
MatchCase:úlse, SearchFormat:úlse).Activate
'Adresse de la cellule portant le Mois à traiter
Mois = ActiveCell.Address
'1° boucle traitant chaque produit feuille ("Sales") identifié entre
B1
et
C1 (à adapter)
Sheets("Sales").Select
For Each c In Worksheets("Sales").Range("B1", "C1")
R = 0
'2° boucle traitant le produit de la 1° boucle
Sheets("Sales").Select
For Each d In Worksheets("Sales").Range([A1], [A65535].End(xlUp))
If d >= CDate("01/01/2007") And d <= CDate("31/01/2007") Then
l = d.Row
R = R + Range(Mid(c.Address, 2, 1) & l)
End If
Next
'Recopie du résultat du produit dans la feuille (("TargetsVSSales")
Sheets("TargetsVSSales").Select
'Recherche du nom du produit colonne A (à adapter)
For Each e In Worksheets("TargetsVSSales").Range([A2],
[A65535].End(xlUp))
If e = c Then
'Recopie du résultat dans la bonne cellule
Range(Mid(Mois, 2, 1) & e.Row) = R
Exit For
End If
Next
Next

Je te propose de tester en l'état ce code avec l'exemple que tu m'as
fourni :
1 Date Produit un Produit deux
2 1/1/2007 5 2
3 2/1/2007 2 4
4 3/1/2007 1 9
5 5/2/2007 4 7


Et sur ma feuille "TargetsVSSales" je voudrais trouver

No ligne A B C

1 Produit Janvier Février
2 Produit un 8 (5+2+1) 4
3 Produit deux 15 (2+4+9) 7


Avant d'entamer des modifications en fonction de tes besoins

Une dernière interrogation dans ces paramètres
Lignes :
2 Produit un 8 (5+2+1) 4
3 Produit deux 15 (2+4+9) 7


Que reprèsente le dernier chiffre de chaque ligne : 4 et 7 ???
Merci pour la précision
Dans l'attente de tes impressions !!!




Bon ben je vas essssayai de mettre le feu à ta lanterne :-))))


En simplifier et par exemple (ne pas tenir compte de cellules)

Sur la feuille "Sales" j'aurais


No ligne A B C

1 Date Produit un Produit deux
2 1/1/2007 5 2
3 2/1/2007 2 4
4 3/1/2007 1 9
5 5/2/2007 4 7


Et sur ma feuille "TargetsVSSales" je voudrais trouver

No ligne A B C

1 Produit Janvier
Février
2 Produit un 8 (5+2+1) 4
3 Produit deux 15 (2+4+9) 7

Et voilà

J'espère avoir allumé une petite bougie quelque part

Merci

A bientôt

Rex






"FFO" a écrit dans le message de news:

Re bonjours Rex
Je vois que l'on se surpasse en matière de macro
Et avec de beaux résultats !!!!

Mais si tu vois pas d'inconvénient je vais revenir au premier code
que
je
t'ai proposé avec la correction adéquate pour recopier uniquement la
somme
dans la 2° cellule de la colonne K

Voici ce nouveau code :

Sheets("Sales").Select
R = 0
For Each c In Worksheets("Sales").Range([A1], [A65535].End(xlUp))
If c >= CDate("01/01/2007") And c <= CDate("31/01/2007") Then
l = c.Row
R = R + Range("BP" & l)
End If
Next
Sheets("TargetsVSSales").Range("K2") = R

Voilà donc pour la première partie

Celà te convient-il ???

Concernant la 2° partie
Je ne comprends pas que d'un côté on prenne en compte toutes les
lignes
de
la colonne A situées entre 2 dates d'un côté pour faire la somme des
ventes

correspondantes situées colonne BP et faire une différence en
fonction
des
nom de colonnes P à DO
Le résultat quelque soit ces colonnes sera toujours identiques
considérant
toujours les mêmes lignes (même intervale de dates) et la même
colonne
pour

la somme des ventes colonne BP

Il serait bon que tu éclaircisses ma lanterne pour de proposer la
solution
adaptée
Dans l'attente



Et oui

Trois réponses consécutive


J'ai un peu "bidouillé" ton code

et ceci fonctionne

MAIS

il ne me compte plus qu'une valeur et plus toutes les valeurs du
même
mois


J'ai changé les dates et ajouté les lignes de fin pour faire ce
que
je
proposais

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Sheets("TargetsVSSales").Select
Range("K25").Select
Sheets("Sales").Select
For Each c In Worksheets("Sales").Range([A1], [A65535].End(xlUp))
Sheets("Sales").Select
If c >= CDate("01/05/2007") And c <= CDate("31/05/2007") Then
l = c.Row
Range("BP" & l).Copy
Sheets("TargetsVSSales").Select
Range("AA2").Select
ActiveSheet.Paste
ActiveCell.Offset(1, 0).Select
Sheets("TargetsVSSales").Select
Range("AA1").Select
ActiveCell.FormulaR1C1 = "=SUM(R[+500]C:R[+1]C)"
Range("AA1").Copy
Sheets("TargetsVSSales").Range("K25").Pastespecial
Paste:=xlPasteValues,
Operation:=xlNone, SkipBlanks _
:úlse, Transpose:úlse
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

A bientôt

Rex







"FFO" a écrit dans le message de
news:

Salut Rex
J'avoue n'avoir pas tout compris dans ta demande surtout la
dernière
partie


En ce qui concerne

Récupérer et additioner (par exemple) toutes les ventes de la
colonnes
BP



de
la feuille "Sales"
dont la date de la colonne A de cette même feuille "Sales" est
entre
le



1/1/2007 et le 31/1/2007
Et les mettre sur une feuille "TagetsVSSales" dans la colonne K
(les
ventes

du mois de janvier)

Je te propose ce code qui fonctionne :

Sheets("TagetsVSSales").Select
Range("K2").Select
Sheets("Sales").Select
For Each c In Worksheets("Sales").Range([A1],
[A65535].End(xlUp))
Sheets("Sales").Select
If c >= CDate("01/01/2007") And c <= CDate("31/01/2007") Then
l = c.Row
Range("BP" & l).Copy
Sheets("TagetsVSSales").Select
ActiveSheet.Paste
ActiveCell.Offset(1, 0).Select
End If
Next

Cette première partie te convient elle ???
Peux tu apporter des précisions pour la suite
Merci


Bonjour

Encore une requête pas facile à expliquer
Mais j'espère pouvoir (encore une fois) compter sur vous

Voici

Sur une feuille "Sales"

















Avatar
FFO
As tu bien mis dans tes feuilles l'exemple que tu m'as donné :

ligne 1 Date Produit un Produit deux
ligne 2 1/1/2007 5 2
ligne 3 2/1/2007 2 4
ligne 4 3/1/2007 1 9
ligne 5 5/2/2007 4 7

à inclure dans la feuille "Sales"

ligne 1 Produit Janvier Février
ligne 2 Produit un
ligne 3 Produit deux

à inclure dans feuille "TargetsVSSales"

Si oui peux tu me transmettre le code tel que tu l'as modifié

Dans l'attente de te lire



Une ereur de ma part

J'avais oublié de renommer une de tes Sales en TargetsVSSales puis que je
n'ai qu'une feuille nommée TargetsVSSales

Maintenant elle ne bloque plus

MAIS

Quand elle termine, elle n'a rien inscrit
Et la ligne 1 et sélectionné

Qu'est-ce que je fais de mal?

A bientôt

Rex


"rthompson" a écrit dans le message de
news:
Bonjour


Une petite question

Au début de ta macro tu fais un

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Rows("1:1").Select
Selection.Find(What:=Mois, After:¬tiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse, SearchFormat:úlse).Activate
'Adresse de la cellule portant le Mois à traiter
Mois = ActiveCell.Address
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Pour le moment il se plante à cet endroit

Que cherche-t-il?

dois-je créer un colonne mois en plus de la date?
Et puis bien sur, je dois créer une colonne pour les résultats

Pour le moment je travail sur un fichier vierge avec une seul feuille

A bientôt

Rex



"FFO" a écrit dans le message de news:

Bonjours Rex
Fort des derniers élément que tu m'as donnés
Je te propose ce code qui devrait faire pour l'ensemble de tes attentes

'Demande dans une boîte de dialogue du mois à traiter
Mois = InputBox("saisissez le Mois", "Mois traité")
'Recherche de la bonne colonne à alimenter feuille ("TargetsVSSales")
Sheets("TargetsVSSales").Select
Rows("1:1").Select
Selection.Find(What:=Mois, After:¬tiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse, SearchFormat:úlse).Activate
'Adresse de la cellule portant le Mois à traiter
Mois = ActiveCell.Address
'1° boucle traitant chaque produit feuille ("Sales") identifié entre B1
et
C1 (à adapter)
Sheets("Sales").Select
For Each c In Worksheets("Sales").Range("B1", "C1")
R = 0
'2° boucle traitant le produit de la 1° boucle
Sheets("Sales").Select
For Each d In Worksheets("Sales").Range([A1], [A65535].End(xlUp))
If d >= CDate("01/01/2007") And d <= CDate("31/01/2007") Then
l = d.Row
R = R + Range(Mid(c.Address, 2, 1) & l)
End If
Next
'Recopie du résultat du produit dans la feuille (("TargetsVSSales")
Sheets("TargetsVSSales").Select
'Recherche du nom du produit colonne A (à adapter)
For Each e In Worksheets("TargetsVSSales").Range([A2],
[A65535].End(xlUp))
If e = c Then
'Recopie du résultat dans la bonne cellule
Range(Mid(Mois, 2, 1) & e.Row) = R
Exit For
End If
Next
Next

Je te propose de tester en l'état ce code avec l'exemple que tu m'as
fourni :
1 Date Produit un Produit deux
2 1/1/2007 5 2
3 2/1/2007 2 4
4 3/1/2007 1 9
5 5/2/2007 4 7


Et sur ma feuille "TargetsVSSales" je voudrais trouver

No ligne A B C

1 Produit Janvier Février
2 Produit un 8 (5+2+1) 4
3 Produit deux 15 (2+4+9) 7


Avant d'entamer des modifications en fonction de tes besoins

Une dernière interrogation dans ces paramètres
Lignes :
2 Produit un 8 (5+2+1) 4
3 Produit deux 15 (2+4+9) 7


Que reprèsente le dernier chiffre de chaque ligne : 4 et 7 ???
Merci pour la précision
Dans l'attente de tes impressions !!!




Bon ben je vas essssayai de mettre le feu à ta lanterne :-))))


En simplifier et par exemple (ne pas tenir compte de cellules)

Sur la feuille "Sales" j'aurais


No ligne A B C

1 Date Produit un Produit deux
2 1/1/2007 5 2
3 2/1/2007 2 4
4 3/1/2007 1 9
5 5/2/2007 4 7


Et sur ma feuille "TargetsVSSales" je voudrais trouver

No ligne A B C

1 Produit Janvier Février
2 Produit un 8 (5+2+1) 4
3 Produit deux 15 (2+4+9) 7

Et voilà

J'espère avoir allumé une petite bougie quelque part

Merci

A bientôt

Rex






"FFO" a écrit dans le message de news:

Re bonjours Rex
Je vois que l'on se surpasse en matière de macro
Et avec de beaux résultats !!!!

Mais si tu vois pas d'inconvénient je vais revenir au premier code que
je
t'ai proposé avec la correction adéquate pour recopier uniquement la
somme
dans la 2° cellule de la colonne K

Voici ce nouveau code :

Sheets("Sales").Select
R = 0
For Each c In Worksheets("Sales").Range([A1], [A65535].End(xlUp))
If c >= CDate("01/01/2007") And c <= CDate("31/01/2007") Then
l = c.Row
R = R + Range("BP" & l)
End If
Next
Sheets("TargetsVSSales").Range("K2") = R

Voilà donc pour la première partie

Celà te convient-il ???

Concernant la 2° partie
Je ne comprends pas que d'un côté on prenne en compte toutes les
lignes de
la colonne A situées entre 2 dates d'un côté pour faire la somme des
ventes

correspondantes situées colonne BP et faire une différence en fonction
des
nom de colonnes P à DO
Le résultat quelque soit ces colonnes sera toujours identiques
considérant
toujours les mêmes lignes (même intervale de dates) et la même colonne
pour

la somme des ventes colonne BP

Il serait bon que tu éclaircisses ma lanterne pour de proposer la
solution
adaptée
Dans l'attente



Et oui

Trois réponses consécutive


J'ai un peu "bidouillé" ton code

et ceci fonctionne

MAIS

il ne me compte plus qu'une valeur et plus toutes les valeurs du
même
mois


J'ai changé les dates et ajouté les lignes de fin pour faire ce que
je
proposais

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Sheets("TargetsVSSales").Select
Range("K25").Select
Sheets("Sales").Select
For Each c In Worksheets("Sales").Range([A1], [A65535].End(xlUp))
Sheets("Sales").Select
If c >= CDate("01/05/2007") And c <= CDate("31/05/2007") Then
l = c.Row
Range("BP" & l).Copy
Sheets("TargetsVSSales").Select
Range("AA2").Select
ActiveSheet.Paste
ActiveCell.Offset(1, 0).Select
Sheets("TargetsVSSales").Select
Range("AA1").Select
ActiveCell.FormulaR1C1 = "=SUM(R[+500]C:R[+1]C)"
Range("AA1").Copy
Sheets("TargetsVSSales").Range("K25").Pastespecial
Paste:=xlPasteValues,
Operation:=xlNone, SkipBlanks _
:úlse, Transpose:úlse
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

A bientôt

Rex







"FFO" a écrit dans le message de
news:

Salut Rex
J'avoue n'avoir pas tout compris dans ta demande surtout la
dernière
partie


En ce qui concerne

Récupérer et additioner (par exemple) toutes les ventes de la
colonnes
BP



de
la feuille "Sales"
dont la date de la colonne A de cette même feuille "Sales" est
entre
le



1/1/2007 et le 31/1/2007
Et les mettre sur une feuille "TagetsVSSales" dans la colonne K
(les
ventes

du mois de janvier)

Je te propose ce code qui fonctionne :

Sheets("TagetsVSSales").Select
Range("K2").Select
Sheets("Sales").Select
For Each c In Worksheets("Sales").Range([A1], [A65535].End(xlUp))
Sheets("Sales").Select
If c >= CDate("01/01/2007") And c <= CDate("31/01/2007") Then
l = c.Row














Avatar
FFO
Ton lien ne me donne pas le bon fichier
Pas d'onglet "Sales" ni d'Onglet "TargetsVSSales"
Encore moins les Mois

Vérifies et retransmets le moi

Es tu sur dans la boîte de dialogue de saisir exactement un Mois à traiter
présent ligne 1 de l'onglet "TargetsVSSales" (attention la saisie doit être
conforme)

Dis moi vite !!!!


Bonjour

Oui j'ai mis l'intégrale

et il me demande de donner le mois

Et pour me simplifier les test j'ai mis sur la même feuille en G1, H1, I1,
J1 les mois janvier, février, mars, avril
Tout vas bien il ne bloque pas mais toute la ligne un est sélectionnée

PS

J'ai même violament secoué ma souris pour lui faire cracher le morceau sans
succès

Regarde ceci http://cjoint.com/?fhlFpxr7l0


A bientôt

Rex



"FFO" a écrit dans le message de news:

Et ce qui précède est resté coincé dans ta souris !!!! :

'Demande dans une boîte de dialogue du mois à traiter
Mois = InputBox("saisissez le Mois", "Mois traité")
'Recherche de la bonne colonne à alimenter feuille ("TargetsVSSales")
Sheets("TargetsVSSales").Select

Mois est le paramètre que saisie l'utilisateur dans une boîte de dialogue
pour identifier celui que l'on traite dans la ligne que tu as oubliée :
Mois = InputBox("saisissez le Mois", "Mois traité")
ce qui permet en fin de code de mettre le résultat dans la bonne cellule
de
la bonne colonne feuille "TargetsVSSales"

Est ce plus claire ainsi !!!

N'hèsite pas à prendre l'intégralité de mon code de :

'Demande dans une boîte de dialogue du mois à traiter
à
Next
Next

et ainsi d'avoir toutes les chances de ne pas avoir de bug

Donne moi tes impressions !!!


Bonjour


Une petite question

Au début de ta macro tu fais un

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Rows("1:1").Select
Selection.Find(What:=Mois, After:¬tiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse, SearchFormat:úlse).Activate
'Adresse de la cellule portant le Mois à traiter
Mois = ActiveCell.Address
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Pour le moment il se plante à cet endroit

Que cherche-t-il?

dois-je créer un colonne mois en plus de la date?
Et puis bien sur, je dois créer une colonne pour les résultats

Pour le moment je travail sur un fichier vierge avec une seul feuille

A bientôt

Rex



"FFO" a écrit dans le message de news:

Bonjours Rex
Fort des derniers élément que tu m'as donnés
Je te propose ce code qui devrait faire pour l'ensemble de tes attentes

'Demande dans une boîte de dialogue du mois à traiter
Mois = InputBox("saisissez le Mois", "Mois traité")
'Recherche de la bonne colonne à alimenter feuille ("TargetsVSSales")
Sheets("TargetsVSSales").Select
Rows("1:1").Select
Selection.Find(What:=Mois, After:¬tiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
_
MatchCase:úlse, SearchFormat:úlse).Activate
'Adresse de la cellule portant le Mois à traiter
Mois = ActiveCell.Address
'1° boucle traitant chaque produit feuille ("Sales") identifié entre
B1
et
C1 (à adapter)
Sheets("Sales").Select
For Each c In Worksheets("Sales").Range("B1", "C1")
R = 0
'2° boucle traitant le produit de la 1° boucle
Sheets("Sales").Select
For Each d In Worksheets("Sales").Range([A1], [A65535].End(xlUp))
If d >= CDate("01/01/2007") And d <= CDate("31/01/2007") Then
l = d.Row
R = R + Range(Mid(c.Address, 2, 1) & l)
End If
Next
'Recopie du résultat du produit dans la feuille (("TargetsVSSales")
Sheets("TargetsVSSales").Select
'Recherche du nom du produit colonne A (à adapter)
For Each e In Worksheets("TargetsVSSales").Range([A2],
[A65535].End(xlUp))
If e = c Then
'Recopie du résultat dans la bonne cellule
Range(Mid(Mois, 2, 1) & e.Row) = R
Exit For
End If
Next
Next

Je te propose de tester en l'état ce code avec l'exemple que tu m'as
fourni :
1 Date Produit un Produit deux
2 1/1/2007 5 2
3 2/1/2007 2 4
4 3/1/2007 1 9
5 5/2/2007 4 7


Et sur ma feuille "TargetsVSSales" je voudrais trouver

No ligne A B C

1 Produit Janvier Février
2 Produit un 8 (5+2+1) 4
3 Produit deux 15 (2+4+9) 7


Avant d'entamer des modifications en fonction de tes besoins

Une dernière interrogation dans ces paramètres
Lignes :
2 Produit un 8 (5+2+1) 4
3 Produit deux 15 (2+4+9) 7


Que reprèsente le dernier chiffre de chaque ligne : 4 et 7 ???
Merci pour la précision
Dans l'attente de tes impressions !!!




Bon ben je vas essssayai de mettre le feu à ta lanterne :-))))


En simplifier et par exemple (ne pas tenir compte de cellules)

Sur la feuille "Sales" j'aurais


No ligne A B C

1 Date Produit un Produit deux
2 1/1/2007 5 2
3 2/1/2007 2 4
4 3/1/2007 1 9
5 5/2/2007 4 7


Et sur ma feuille "TargetsVSSales" je voudrais trouver

No ligne A B C

1 Produit Janvier
Février
2 Produit un 8 (5+2+1) 4
3 Produit deux 15 (2+4+9) 7

Et voilà

J'espère avoir allumé une petite bougie quelque part

Merci

A bientôt

Rex






"FFO" a écrit dans le message de news:

Re bonjours Rex
Je vois que l'on se surpasse en matière de macro
Et avec de beaux résultats !!!!

Mais si tu vois pas d'inconvénient je vais revenir au premier code
que
je
t'ai proposé avec la correction adéquate pour recopier uniquement la
somme
dans la 2° cellule de la colonne K

Voici ce nouveau code :

Sheets("Sales").Select
R = 0
For Each c In Worksheets("Sales").Range([A1], [A65535].End(xlUp))
If c >= CDate("01/01/2007") And c <= CDate("31/01/2007") Then
l = c.Row
R = R + Range("BP" & l)
End If
Next
Sheets("TargetsVSSales").Range("K2") = R

Voilà donc pour la première partie

Celà te convient-il ???

Concernant la 2° partie
Je ne comprends pas que d'un côté on prenne en compte toutes les
lignes
de
la colonne A situées entre 2 dates d'un côté pour faire la somme des
ventes

correspondantes situées colonne BP et faire une différence en
fonction
des
nom de colonnes P à DO
Le résultat quelque soit ces colonnes sera toujours identiques
considérant
toujours les mêmes lignes (même intervale de dates) et la même
colonne
pour

la somme des ventes colonne BP

Il serait bon que tu éclaircisses ma lanterne pour de proposer la
solution
adaptée
Dans l'attente



Et oui

Trois réponses consécutive


J'ai un peu "bidouillé" ton code

et ceci fonctionne

MAIS

il ne me compte plus qu'une valeur et plus toutes les valeurs du
même
mois


J'ai changé les dates et ajouté les lignes de fin pour faire ce
que
je
proposais

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Sheets("TargetsVSSales").Select
Range("K25").Select
Sheets("Sales").Select
For Each c In Worksheets("Sales").Range([A1], [A65535].End(xlUp))
Sheets("Sales").Select
If c >= CDate("01/05/2007") And c <= CDate("31/05/2007") Then
l = c.Row
Range("BP" & l).Copy
Sheets("TargetsVSSales").Select
Range("AA2").Select
ActiveSheet.Paste
ActiveCell.Offset(1, 0).Select
Sheets("TargetsVSSales").Select
Range("AA1").Select
ActiveCell.FormulaR1C1 = "=SUM(R[+500]C:R[+1]C)"
Range("AA1").Copy
Sheets("TargetsVSSales").Range("K25").Pastespecial
Paste:=xlPasteValues,
Operation:=xlNone, SkipBlanks _
:úlse, Transpose:úlse
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

A bientôt














1 2 3