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 deux2 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) 43 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
ventescorrespondantes 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
pourla somme des ventes colonne BP
Il serait bon que tu éclaircisses ma lanterne pour de proposer la
solution
adaptée
Dans l'attenteEt 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
moisJ'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
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" <FFO@discussions.microsoft.com> a écrit dans le message de news:
E7C9F9BE-B44C-4D8B-B430-8F0C96B1D52B@microsoft.com...
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" <FFO@discussions.microsoft.com> a écrit dans le message de news:
91A00A5C-D18D-4FE8-A1A8-2893F31A95B8@microsoft.com...
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" <FFO@discussions.microsoft.com> a écrit dans le message de
news:
942DA5FC-F1B6-450C-B708-7435AA2D6A45@microsoft.com...
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
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 deux2 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) 43 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
ventescorrespondantes 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
pourla somme des ventes colonne BP
Il serait bon que tu éclaircisses ma lanterne pour de proposer la
solution
adaptée
Dans l'attenteEt 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
moisJ'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
Il n'y a qu'une feuille nommée TargetsVSSales et j'ai changé tous les Sales
de ta macro en TargetsVSSales
Je croyais que cela suffirait pour faire les tests, non?
Et oui j'écris janvier exactement comme dans la ligne 1
Rex
"FFO" a écrit dans le message de news: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 deux2 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) 43 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
ventescorrespondantes 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
pourla somme des ventes colonne BP
Il serait bon que tu éclaircisses ma lanterne pour de proposer la
solution
adaptée
Dans l'attenteEt oui
Il n'y a qu'une feuille nommée TargetsVSSales et j'ai changé tous les Sales
de ta macro en TargetsVSSales
Je croyais que cela suffirait pour faire les tests, non?
Et oui j'écris janvier exactement comme dans la ligne 1
Rex
"FFO" <FFO@discussions.microsoft.com> a écrit dans le message de news:
E10D1B6D-4A0E-424C-9412-051CA6D0B839@microsoft.com...
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" <FFO@discussions.microsoft.com> a écrit dans le message de news:
E7C9F9BE-B44C-4D8B-B430-8F0C96B1D52B@microsoft.com...
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" <FFO@discussions.microsoft.com> a écrit dans le message de news:
91A00A5C-D18D-4FE8-A1A8-2893F31A95B8@microsoft.com...
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" <FFO@discussions.microsoft.com> a écrit dans le message de
news:
942DA5FC-F1B6-450C-B708-7435AA2D6A45@microsoft.com...
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
Il n'y a qu'une feuille nommée TargetsVSSales et j'ai changé tous les Sales
de ta macro en TargetsVSSales
Je croyais que cela suffirait pour faire les tests, non?
Et oui j'écris janvier exactement comme dans la ligne 1
Rex
"FFO" a écrit dans le message de news: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 deux2 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) 43 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
ventescorrespondantes 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
pourla somme des ventes colonne BP
Il serait bon que tu éclaircisses ma lanterne pour de proposer la
solution
adaptée
Dans l'attenteEt oui
Non ton lien n'est pas bon
qui possede d'ailleurs des liaisons externes....
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 !!!!)
Non ton lien n'est pas bon
qui possede d'ailleurs des liaisons externes....
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 !!!!)
Non ton lien n'est pas bon
qui possede d'ailleurs des liaisons externes....
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 !!!!)
Non ton lien n'est pas bon j'ai bien un document Excel mais sans onglet
"TargetsVSSales"
Si tu as mis les Mois de G1 à J1 où as tu mis la colonne des produits
necessaire pour repérer celui traiter afin de mettre son Résultat :
colonne F
ou une autre colonne
Ceci conditionne la ligne du code :
For Each e In Worksheets("TargetsVSSales").Range([A2], [A65535].End(xlUp))
qui doit être adapté car en l'état les produits doivent être situés en
colonne A
Merci de me préciserIl n'y a qu'une feuille nommée TargetsVSSales et j'ai changé tous les
Sales
de ta macro en TargetsVSSales
Je croyais que cela suffirait pour faire les tests, non?
Et oui j'écris janvier exactement comme dans la ligne 1
Rex
"FFO" a écrit dans le message de news: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 deux2 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) 43 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
ventescorrespondantes 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
pourla somme des ventes colonne BP
Il serait bon que tu éclaircisses ma lanterne pour de proposer
la
solution
adaptée
Dans l'attenteEt oui
Non ton lien n'est pas bon j'ai bien un document Excel mais sans onglet
"TargetsVSSales"
Si tu as mis les Mois de G1 à J1 où as tu mis la colonne des produits
necessaire pour repérer celui traiter afin de mettre son Résultat :
colonne F
ou une autre colonne
Ceci conditionne la ligne du code :
For Each e In Worksheets("TargetsVSSales").Range([A2], [A65535].End(xlUp))
qui doit être adapté car en l'état les produits doivent être situés en
colonne A
Merci de me préciser
Il n'y a qu'une feuille nommée TargetsVSSales et j'ai changé tous les
Sales
de ta macro en TargetsVSSales
Je croyais que cela suffirait pour faire les tests, non?
Et oui j'écris janvier exactement comme dans la ligne 1
Rex
"FFO" <FFO@discussions.microsoft.com> a écrit dans le message de news:
E10D1B6D-4A0E-424C-9412-051CA6D0B839@microsoft.com...
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" <FFO@discussions.microsoft.com> a écrit dans le message de news:
E7C9F9BE-B44C-4D8B-B430-8F0C96B1D52B@microsoft.com...
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" <FFO@discussions.microsoft.com> a écrit dans le message de
news:
91A00A5C-D18D-4FE8-A1A8-2893F31A95B8@microsoft.com...
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" <FFO@discussions.microsoft.com> a écrit dans le message de
news:
942DA5FC-F1B6-450C-B708-7435AA2D6A45@microsoft.com...
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
Non ton lien n'est pas bon j'ai bien un document Excel mais sans onglet
"TargetsVSSales"
Si tu as mis les Mois de G1 à J1 où as tu mis la colonne des produits
necessaire pour repérer celui traiter afin de mettre son Résultat :
colonne F
ou une autre colonne
Ceci conditionne la ligne du code :
For Each e In Worksheets("TargetsVSSales").Range([A2], [A65535].End(xlUp))
qui doit être adapté car en l'état les produits doivent être situés en
colonne A
Merci de me préciserIl n'y a qu'une feuille nommée TargetsVSSales et j'ai changé tous les
Sales
de ta macro en TargetsVSSales
Je croyais que cela suffirait pour faire les tests, non?
Et oui j'écris janvier exactement comme dans la ligne 1
Rex
"FFO" a écrit dans le message de news: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 deux2 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) 43 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
ventescorrespondantes 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
pourla somme des ventes colonne BP
Il serait bon que tu éclaircisses ma lanterne pour de proposer
la
solution
adaptée
Dans l'attenteEt oui
Bonsour® FFO avec ferveur ;o))) vous nous disiez :Non ton lien n'est pas bon
qui possede d'ailleurs des liaisons externes....
en effet !!!
comme de plus je n'ai pas suivi toute ta démarche c'est pas trés simple de
comprendre :-(((
de plus il va y avaoir un souci avec :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 !!!!)
comment parcourir les produits sans régle d'identification ???
(Codes?, toutes les x colonnes, par paquet de N ?????)
--
--
@+
;o)))
Bonsour® FFO avec ferveur ;o))) vous nous disiez :
Non ton lien n'est pas bon
qui possede d'ailleurs des liaisons externes....
en effet !!!
comme de plus je n'ai pas suivi toute ta démarche c'est pas trés simple de
comprendre :-(((
de plus il va y avaoir un souci avec :
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 !!!!)
comment parcourir les produits sans régle d'identification ???
(Codes?, toutes les x colonnes, par paquet de N ?????)
--
--
@+
;o)))
Bonsour® FFO avec ferveur ;o))) vous nous disiez :Non ton lien n'est pas bon
qui possede d'ailleurs des liaisons externes....
en effet !!!
comme de plus je n'ai pas suivi toute ta démarche c'est pas trés simple de
comprendre :-(((
de plus il va y avaoir un souci avec :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 !!!!)
comment parcourir les produits sans régle d'identification ???
(Codes?, toutes les x colonnes, par paquet de N ?????)
--
--
@+
;o)))
Et voilà le bon lien
J'y ai changé les A en F
A bientôt
Rex
http://cjoint.com/?fhn0NEVQVB
"FFO" a écrit dans le message de news:Non ton lien n'est pas bon j'ai bien un document Excel mais sans onglet
"TargetsVSSales"
Si tu as mis les Mois de G1 à J1 où as tu mis la colonne des produits
necessaire pour repérer celui traiter afin de mettre son Résultat :
colonne F
ou une autre colonne
Ceci conditionne la ligne du code :
For Each e In Worksheets("TargetsVSSales").Range([A2], [A65535].End(xlUp))
qui doit être adapté car en l'état les produits doivent être situés en
colonne A
Merci de me préciserIl n'y a qu'une feuille nommée TargetsVSSales et j'ai changé tous les
Sales
de ta macro en TargetsVSSales
Je croyais que cela suffirait pour faire les tests, non?
Et oui j'écris janvier exactement comme dans la ligne 1
Rex
"FFO" a écrit dans le message de news: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 deux2 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) 43 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 :
Et voilà le bon lien
J'y ai changé les A en F
A bientôt
Rex
http://cjoint.com/?fhn0NEVQVB
"FFO" <FFO@discussions.microsoft.com> a écrit dans le message de news:
2D4563FD-5660-44E8-A675-8EE308818640@microsoft.com...
Non ton lien n'est pas bon j'ai bien un document Excel mais sans onglet
"TargetsVSSales"
Si tu as mis les Mois de G1 à J1 où as tu mis la colonne des produits
necessaire pour repérer celui traiter afin de mettre son Résultat :
colonne F
ou une autre colonne
Ceci conditionne la ligne du code :
For Each e In Worksheets("TargetsVSSales").Range([A2], [A65535].End(xlUp))
qui doit être adapté car en l'état les produits doivent être situés en
colonne A
Merci de me préciser
Il n'y a qu'une feuille nommée TargetsVSSales et j'ai changé tous les
Sales
de ta macro en TargetsVSSales
Je croyais que cela suffirait pour faire les tests, non?
Et oui j'écris janvier exactement comme dans la ligne 1
Rex
"FFO" <FFO@discussions.microsoft.com> a écrit dans le message de news:
E10D1B6D-4A0E-424C-9412-051CA6D0B839@microsoft.com...
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" <FFO@discussions.microsoft.com> a écrit dans le message de news:
E7C9F9BE-B44C-4D8B-B430-8F0C96B1D52B@microsoft.com...
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" <FFO@discussions.microsoft.com> a écrit dans le message de
news:
91A00A5C-D18D-4FE8-A1A8-2893F31A95B8@microsoft.com...
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" <FFO@discussions.microsoft.com> a écrit dans le message de
news:
942DA5FC-F1B6-450C-B708-7435AA2D6A45@microsoft.com...
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 :
Et voilà le bon lien
J'y ai changé les A en F
A bientôt
Rex
http://cjoint.com/?fhn0NEVQVB
"FFO" a écrit dans le message de news:Non ton lien n'est pas bon j'ai bien un document Excel mais sans onglet
"TargetsVSSales"
Si tu as mis les Mois de G1 à J1 où as tu mis la colonne des produits
necessaire pour repérer celui traiter afin de mettre son Résultat :
colonne F
ou une autre colonne
Ceci conditionne la ligne du code :
For Each e In Worksheets("TargetsVSSales").Range([A2], [A65535].End(xlUp))
qui doit être adapté car en l'état les produits doivent être situés en
colonne A
Merci de me préciserIl n'y a qu'une feuille nommée TargetsVSSales et j'ai changé tous les
Sales
de ta macro en TargetsVSSales
Je croyais que cela suffirait pour faire les tests, non?
Et oui j'écris janvier exactement comme dans la ligne 1
Rex
"FFO" a écrit dans le message de news: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 deux2 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) 43 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 :
Finalement grâce à ce lien correct j'ai pu acceder au bon fichier et de
constater que mon code fonctionne bien
Je l'ai compte tenu de la nouvelle donne allégé et complété
Car un élément qui m'avait échaper est à prendre en compte
Si en début je te demande le mois traité il faut que j'en tienne compte
dans
les dates à rechercher
par exemple :
Janvier, date du 01/01/2007 au 31/01/2007
Février, date du 01/02/2007 au 28/02/2007
Mars, date du 01/03/2007 au 31/03/2007
Ainsi de suite
De plus encore et ce sera la cerise sur le gâteau et ce afin qu'il soit
utilisable d'année en année la prise en compte de l'année courrante
Ce qui veux dire que l'année prochaine ce code fonctionnera pour les
ventes
2008 et les suivantes
Voilà la petite merveille :
Année = Mid(Date, 7, 4)
Mois = InputBox("saisissez le Mois", "Mois traité")
For I = 1 To 12
M = UCase(Format(DateSerial(2007, I, 1), "mmmm"))
If UCase(Mois) = M Then
M = I
Exit For
End If
Next
Début = "01/0" & M & "/" & Année
If I = 1 Or I = 3 Or I = 5 Or I = 7 Or I = 8 Or I = 10 Or I = 12 Then
Fin = "31/0" & M & "/" & Année
Else
If I <> 2 Then
Fin = "30/0" & M & "/" & Année
End If
End If
If I = 2 Then
Fin = "28/0" & M & "/" & Année
End If
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
Mois = ActiveCell.Address
For Each c In Worksheets("TargetsVSSales").Range("B1", "C1")
R = 0
For Each d In Worksheets("TargetsVSSales").Range([A1], [A65535].End(xlUp))
If d >= CDate(Début) And d <= CDate(Fin) Then
l = d.Row
R = R + Range(Mid(c.Address, 2, 1) & l)
End If
Next
For Each e In Worksheets("TargetsVSSales").Range([F2], [F65535].End(xlUp))
If e = c Then
Range(Mid(Mois, 2, 1) & e.Row) = R
Exit For
End If
Next
Next
Qu'en penses tu ???
Les améliorations te conviennent elles ???
Dis moi !!!Et voilà le bon lien
J'y ai changé les A en F
A bientôt
Rex
http://cjoint.com/?fhn0NEVQVB
"FFO" a écrit dans le message de news:Non ton lien n'est pas bon j'ai bien un document Excel mais sans
onglet
"TargetsVSSales"
Si tu as mis les Mois de G1 à J1 où as tu mis la colonne des produits
necessaire pour repérer celui traiter afin de mettre son Résultat :
colonne F
ou une autre colonne
Ceci conditionne la ligne du code :
For Each e In Worksheets("TargetsVSSales").Range([A2],
[A65535].End(xlUp))
qui doit être adapté car en l'état les produits doivent être situés en
colonne A
Merci de me préciserIl n'y a qu'une feuille nommée TargetsVSSales et j'ai changé tous les
Sales
de ta macro en TargetsVSSales
Je croyais que cela suffirait pour faire les tests, non?
Et oui j'écris janvier exactement comme dans la ligne 1
Rex
"FFO" a écrit dans le message de
news:
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 deux2 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) 43 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 :
Finalement grâce à ce lien correct j'ai pu acceder au bon fichier et de
constater que mon code fonctionne bien
Je l'ai compte tenu de la nouvelle donne allégé et complété
Car un élément qui m'avait échaper est à prendre en compte
Si en début je te demande le mois traité il faut que j'en tienne compte
dans
les dates à rechercher
par exemple :
Janvier, date du 01/01/2007 au 31/01/2007
Février, date du 01/02/2007 au 28/02/2007
Mars, date du 01/03/2007 au 31/03/2007
Ainsi de suite
De plus encore et ce sera la cerise sur le gâteau et ce afin qu'il soit
utilisable d'année en année la prise en compte de l'année courrante
Ce qui veux dire que l'année prochaine ce code fonctionnera pour les
ventes
2008 et les suivantes
Voilà la petite merveille :
Année = Mid(Date, 7, 4)
Mois = InputBox("saisissez le Mois", "Mois traité")
For I = 1 To 12
M = UCase(Format(DateSerial(2007, I, 1), "mmmm"))
If UCase(Mois) = M Then
M = I
Exit For
End If
Next
Début = "01/0" & M & "/" & Année
If I = 1 Or I = 3 Or I = 5 Or I = 7 Or I = 8 Or I = 10 Or I = 12 Then
Fin = "31/0" & M & "/" & Année
Else
If I <> 2 Then
Fin = "30/0" & M & "/" & Année
End If
End If
If I = 2 Then
Fin = "28/0" & M & "/" & Année
End If
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
Mois = ActiveCell.Address
For Each c In Worksheets("TargetsVSSales").Range("B1", "C1")
R = 0
For Each d In Worksheets("TargetsVSSales").Range([A1], [A65535].End(xlUp))
If d >= CDate(Début) And d <= CDate(Fin) Then
l = d.Row
R = R + Range(Mid(c.Address, 2, 1) & l)
End If
Next
For Each e In Worksheets("TargetsVSSales").Range([F2], [F65535].End(xlUp))
If e = c Then
Range(Mid(Mois, 2, 1) & e.Row) = R
Exit For
End If
Next
Next
Qu'en penses tu ???
Les améliorations te conviennent elles ???
Dis moi !!!
Et voilà le bon lien
J'y ai changé les A en F
A bientôt
Rex
http://cjoint.com/?fhn0NEVQVB
"FFO" <FFO@discussions.microsoft.com> a écrit dans le message de news:
2D4563FD-5660-44E8-A675-8EE308818640@microsoft.com...
Non ton lien n'est pas bon j'ai bien un document Excel mais sans
onglet
"TargetsVSSales"
Si tu as mis les Mois de G1 à J1 où as tu mis la colonne des produits
necessaire pour repérer celui traiter afin de mettre son Résultat :
colonne F
ou une autre colonne
Ceci conditionne la ligne du code :
For Each e In Worksheets("TargetsVSSales").Range([A2],
[A65535].End(xlUp))
qui doit être adapté car en l'état les produits doivent être situés en
colonne A
Merci de me préciser
Il n'y a qu'une feuille nommée TargetsVSSales et j'ai changé tous les
Sales
de ta macro en TargetsVSSales
Je croyais que cela suffirait pour faire les tests, non?
Et oui j'écris janvier exactement comme dans la ligne 1
Rex
"FFO" <FFO@discussions.microsoft.com> a écrit dans le message de
news:
E10D1B6D-4A0E-424C-9412-051CA6D0B839@microsoft.com...
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" <FFO@discussions.microsoft.com> a écrit dans le message de
news:
E7C9F9BE-B44C-4D8B-B430-8F0C96B1D52B@microsoft.com...
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" <FFO@discussions.microsoft.com> a écrit dans le message
de
news:
91A00A5C-D18D-4FE8-A1A8-2893F31A95B8@microsoft.com...
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" <FFO@discussions.microsoft.com> a écrit dans le
message de
news:
942DA5FC-F1B6-450C-B708-7435AA2D6A45@microsoft.com...
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 :
Finalement grâce à ce lien correct j'ai pu acceder au bon fichier et de
constater que mon code fonctionne bien
Je l'ai compte tenu de la nouvelle donne allégé et complété
Car un élément qui m'avait échaper est à prendre en compte
Si en début je te demande le mois traité il faut que j'en tienne compte
dans
les dates à rechercher
par exemple :
Janvier, date du 01/01/2007 au 31/01/2007
Février, date du 01/02/2007 au 28/02/2007
Mars, date du 01/03/2007 au 31/03/2007
Ainsi de suite
De plus encore et ce sera la cerise sur le gâteau et ce afin qu'il soit
utilisable d'année en année la prise en compte de l'année courrante
Ce qui veux dire que l'année prochaine ce code fonctionnera pour les
ventes
2008 et les suivantes
Voilà la petite merveille :
Année = Mid(Date, 7, 4)
Mois = InputBox("saisissez le Mois", "Mois traité")
For I = 1 To 12
M = UCase(Format(DateSerial(2007, I, 1), "mmmm"))
If UCase(Mois) = M Then
M = I
Exit For
End If
Next
Début = "01/0" & M & "/" & Année
If I = 1 Or I = 3 Or I = 5 Or I = 7 Or I = 8 Or I = 10 Or I = 12 Then
Fin = "31/0" & M & "/" & Année
Else
If I <> 2 Then
Fin = "30/0" & M & "/" & Année
End If
End If
If I = 2 Then
Fin = "28/0" & M & "/" & Année
End If
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
Mois = ActiveCell.Address
For Each c In Worksheets("TargetsVSSales").Range("B1", "C1")
R = 0
For Each d In Worksheets("TargetsVSSales").Range([A1], [A65535].End(xlUp))
If d >= CDate(Début) And d <= CDate(Fin) Then
l = d.Row
R = R + Range(Mid(c.Address, 2, 1) & l)
End If
Next
For Each e In Worksheets("TargetsVSSales").Range([F2], [F65535].End(xlUp))
If e = c Then
Range(Mid(Mois, 2, 1) & e.Row) = R
Exit For
End If
Next
Next
Qu'en penses tu ???
Les améliorations te conviennent elles ???
Dis moi !!!Et voilà le bon lien
J'y ai changé les A en F
A bientôt
Rex
http://cjoint.com/?fhn0NEVQVB
"FFO" a écrit dans le message de news:Non ton lien n'est pas bon j'ai bien un document Excel mais sans
onglet
"TargetsVSSales"
Si tu as mis les Mois de G1 à J1 où as tu mis la colonne des produits
necessaire pour repérer celui traiter afin de mettre son Résultat :
colonne F
ou une autre colonne
Ceci conditionne la ligne du code :
For Each e In Worksheets("TargetsVSSales").Range([A2],
[A65535].End(xlUp))
qui doit être adapté car en l'état les produits doivent être situés en
colonne A
Merci de me préciserIl n'y a qu'une feuille nommée TargetsVSSales et j'ai changé tous les
Sales
de ta macro en TargetsVSSales
Je croyais que cela suffirait pour faire les tests, non?
Et oui j'écris janvier exactement comme dans la ligne 1
Rex
"FFO" a écrit dans le message de
news:
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 deux2 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) 43 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 :