trier par ligne un argument en vba

Le
frasax
Bonjour à tous,

J’ai un problème avec une macro que j’ai trouvé chez Isabelle.
J’aimerais faire un tri par ligne avec deux arguments.
Exemple : Si.ET = ″armoire″; ″Vendu″
La ligne est rangée sous :
A B C D
E
Genre d'article Vendu Prix Date Nombre
Réfrigérateur Vendu CHF 350.- 24.03.2008 X armoire

X chaise

X fauteuil etc.
La macro est la suivante :

Sub Macro2()
fin = Sheets("Articles_en_vente").Range("A65536").End(xlUp).Row
ActiveWorkbook.Names.Add Name:="plage", _
RefersTo:=Range("Articles_en_vente!$B$2:$A$" & fin)
Sheets("Détail_vente").Activate
Range("plage").AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Sheets("Détail_vente").Range("B2:A2"), Unique:=True
f = Range("A65536").End(xlUp).Row
Range("D2").Formula = "=CountIf(plage,a2)"
Range("D2:D" & f).FillDown
End Sub

Merci à vous de votre aide, encore bonne fête et à +
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
LE TROLL
Le #5330651
Bonjour,

Je ne suis pas certain d'avoir compris, et en
plus, je crois que tu utilises, car tu écris "x"
; "y"
un fichier texte de structure csv, je présume,
mais je ne sais pas ?
Tu voudrais donc, lire chaque ligne, puis si les
deux premier arguments de chaque ligne
correspondent à quelque chose de voulue, tu
récupères la ligne... le IF, tu veux ?

If x = "a" AND y = "b" then ' récupère la ligne...

--
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm




------------------------------------------------------------------------------------
"frasax" écrit dans le message de news:

| Bonjour à tous,
|
| J'ai un problème avec une macro que j'ai trouvé
chez Isabelle.
| J'aimerais faire un tri par ligne avec deux
arguments.
| Exemple : Si.ET = ?armoire?; ?Vendu?
| La ligne est rangée sous :
| A B C
D
| E
| Genre d'article Vendu Prix
Date Nombre
| Réfrigérateur Vendu CHF 350.-
24.03.2008 X armoire
|
| X chaise
|
| X fauteuil etc.
| La macro est la suivante :
|
| Sub Macro2()
| fin =
Sheets("Articles_en_vente").Range("A65536").End(xlUp).Row
| ActiveWorkbook.Names.Add Name:="plage", _
| RefersTo:=Range("Articles_en_vente!$B$2:$A$" &
fin)
| Sheets("Détail_vente").Activate
| Range("plage").AdvancedFilter
Action:=xlFilterCopy, _
|
CopyToRange:=Sheets("Détail_vente").Range("B2:A2"),
Unique:=True
| f = Range("A65536").End(xlUp).Row
| Range("D2").Formula = "=CountIf(plage,a2)"
| Range("D2:D" & f).FillDown
| End Sub
|
| Merci à vous de votre aide, encore bonne fête et
à +
|
frasax
Le #5330621
Bonjour Le Troll

Merci pour la réponse, mais la macro na rien à voir avec x, y, je me suis
mal exprimé.
Ce que je veux, c’est une macro qui reprend les données de la feuille «
Articles_en_vente » puis faire un transfert sur la feuille « Détails_vente ».
En tenant compte que la ligne qui comporte le mot « armoire » + « vendu » ou
« chaise » + « vendu », soit transféré avec le prix et la date.
Ce qui veut dire que la colonne A est « armoire » ou « chaise » etc. en
colonne B « vendu » en C « le prix » en D « la date » et en E « le nombre »
trié par article.
J’espère avoir été un peu plus clair, je suis un débutant et malgré mes
recherches sur le forum, ce n’est pas toujours évident de trouver ce que l’on
veut.
Encore merci de me renseigner et à +


"LE TROLL" wrote:

Bonjour,

Je ne suis pas certain d'avoir compris, et en
plus, je crois que tu utilises, car tu écris "x"
; "y"
un fichier texte de structure csv, je présume,
mais je ne sais pas ?
Tu voudrais donc, lire chaque ligne, puis si les
deux premier arguments de chaque ligne
correspondent à quelque chose de voulue, tu
récupères la ligne... le IF, tu veux ?

If x = "a" AND y = "b" then ' récupère la ligne...

--
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm




------------------------------------------------------------------------------------
"frasax" écrit dans le message de news:

| Bonjour à tous,
|
| J'ai un problème avec une macro que j'ai trouvé
chez Isabelle.
| J'aimerais faire un tri par ligne avec deux
arguments.
| Exemple : Si.ET = ?armoire?; ?Vendu?
| La ligne est rangée sous :
| A B C
D
| E
| Genre d'article Vendu Prix
Date Nombre
| Réfrigérateur Vendu CHF 350.-
24.03.2008 X armoire
|
| X chaise
|
| X fauteuil etc.
| La macro est la suivante :
|
| Sub Macro2()
| fin =
Sheets("Articles_en_vente").Range("A65536").End(xlUp).Row
| ActiveWorkbook.Names.Add Name:="plage", _
| RefersTo:=Range("Articles_en_vente!$B$2:$A$" &
fin)
| Sheets("Détail_vente").Activate
| Range("plage").AdvancedFilter
Action:=xlFilterCopy, _
|
CopyToRange:=Sheets("Détail_vente").Range("B2:A2"),
Unique:=True
| f = Range("A65536").End(xlUp).Row
| Range("D2").Formula = "=CountIf(plage,a2)"
| Range("D2:D" & f).FillDown
| End Sub
|
| Merci à vous de votre aide, encore bonne fête et
à +
|





JB
Le #5330591
Bonjour,

http://cjoint.com/?dyovjy7mIn

JB
http://boisgontierjacques.free.fr/



On 24 mar, 14:00, frasax
Bonjour Le Troll

Merci pour la réponse, mais la macro na rien à voir avec x, y, je me s uis
mal exprimé.
Ce que je veux, c'est une macro qui reprend les données de la feuille <<
Articles_en_vente >> puis faire un transfert sur la feuille << Détails_v ente >>.
En tenant compte que la ligne qui comporte le mot << armoire >> + << vendu >> ou
<< chaise >> + << vendu >>, soit transféré avec le prix et la date.
Ce qui veut dire que la colonne A est << armoire >> ou << chaise >> etc. e n
colonne B << vendu >> en C << le prix >> en D << la date >> et en E << le nombre >>
trié par article.
J'espère avoir été un peu plus clair, je suis un débutant et malgr é mes
recherches sur le forum, ce n'est pas toujours évident de trouver ce que l'on
veut.
Encore merci de me renseigner et à +



"LE TROLL" wrote:
Bonjour,

Je ne suis pas certain d'avoir compris, et en
plus, je crois que tu utilises, car tu écris "x"
; "y"
un fichier texte de structure csv, je présume,
mais je ne sais pas ?
Tu voudrais donc, lire chaque ligne, puis si les
deux premier arguments de chaque ligne
correspondent à quelque chose de voulue, tu
récupères la ligne... le IF, tu veux ?

If x = "a" AND y = "b" then ' récupère la ligne...

--
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm

------------------------------------------------------------------------ -------------
"frasax" écrit dans le message de news:

| Bonjour à tous,
|
| J'ai un problème avec une macro que j'ai trouvé
chez Isabelle.
| J'aimerais faire un tri par ligne avec deux
arguments.
| Exemple : Si.ET = ?armoire?; ?Vendu?
| La ligne est rangée sous :
| A B C
D
| E
| Genre d'article Vendu Prix
Date Nombre
| Réfrigérateur Vendu CHF 350.-
24.03.2008 X armoire
|
| X chaise
|
| X fauteuil etc.
| La macro est la suivante :
|
| Sub Macro2()
| fin =
Sheets("Articles_en_vente").Range("A65536").End(xlUp).Row
| ActiveWorkbook.Names.Add Name:="plage", _
| RefersTo:=Range("Articles_en_vente!$B$2:$A$" &
fin)
| Sheets("Détail_vente").Activate
| Range("plage").AdvancedFilter
Action:=xlFilterCopy, _
|
CopyToRange:=Sheets("Détail_vente").Range("B2:A2"),
Unique:=True
| f = Range("A65536").End(xlUp).Row
| Range("D2").Formula = "=CountIf(plage,a2)"
| Range("D2:D" & f).FillDown
| End Sub
|
| Merci à vous de votre aide, encore bonne fête et
à +
|- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -



frasax
Le #5330521
Bonjour JB,

Merci pour la réponse, je joints mon document pour de plus amples
informations.
Encore merci et à +

http://cjoint.com/?dyo31KRhD2

"JB" wrote:

Bonjour,

http://cjoint.com/?dyovjy7mIn

JB
http://boisgontierjacques.free.fr/



On 24 mar, 14:00, frasax
Bonjour Le Troll

Merci pour la réponse, mais la macro na rien à voir avec x, y, je me suis
mal exprimé.
Ce que je veux, c'est une macro qui reprend les données de la feuille <<
Articles_en_vente >> puis faire un transfert sur la feuille << Détails_vente >>.
En tenant compte que la ligne qui comporte le mot << armoire >> + << vendu >> ou
<< chaise >> + << vendu >>, soit transféré avec le prix et la date.
Ce qui veut dire que la colonne A est << armoire >> ou << chaise >> etc. en
colonne B << vendu >> en C << le prix >> en D << la date >> et en E << le nombre >>
trié par article.
J'espère avoir été un peu plus clair, je suis un débutant et malgré mes
recherches sur le forum, ce n'est pas toujours évident de trouver ce que l'on
veut.
Encore merci de me renseigner et à +



"LE TROLL" wrote:
Bonjour,

Je ne suis pas certain d'avoir compris, et en
plus, je crois que tu utilises, car tu écris "x"
; "y"
un fichier texte de structure csv, je présume,
mais je ne sais pas ?
Tu voudrais donc, lire chaque ligne, puis si les
deux premier arguments de chaque ligne
correspondent à quelque chose de voulue, tu
récupères la ligne... le IF, tu veux ?

If x = "a" AND y = "b" then ' récupère la ligne...

--
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm

-------------------------------------------------------------------------------------
"frasax" écrit dans le message de news:

| Bonjour à tous,
|
| J'ai un problème avec une macro que j'ai trouvé
chez Isabelle.
| J'aimerais faire un tri par ligne avec deux
arguments.
| Exemple : Si.ET = ?armoire?; ?Vendu?
| La ligne est rangée sous :
| A B C
D
| E
| Genre d'article Vendu Prix
Date Nombre
| Réfrigérateur Vendu CHF 350.-
24.03.2008 X armoire
|
| X chaise
|
| X fauteuil etc.
| La macro est la suivante :
|
| Sub Macro2()
| fin > > > Sheets("Articles_en_vente").Range("A65536").End(xlUp).Row
| ActiveWorkbook.Names.Add Name:="plage", _
| RefersTo:=Range("Articles_en_vente!$B$2:$A$" &
fin)
| Sheets("Détail_vente").Activate
| Range("plage").AdvancedFilter
Action:=xlFilterCopy, _
|
CopyToRange:=Sheets("Détail_vente").Range("B2:A2"),
Unique:=True
| f = Range("A65536").End(xlUp).Row
| Range("D2").Formula = "=CountIf(plage,a2)"
| Range("D2:D" & f).FillDown
| End Sub
|
| Merci à vous de votre aide, encore bonne fête et
à +
|- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -







frasax
Le #5330471
Re Bonjour JB,

Je viens de voir qu’il n’est pas possible de mettre le prix.
Il faut donc déplacer la colonne C en D et mettre le nombre sous la colonne D.


"JB" wrote:

Bonjour,

http://cjoint.com/?dyovjy7mIn

JB
http://boisgontierjacques.free.fr/



On 24 mar, 14:00, frasax
Bonjour Le Troll

Merci pour la réponse, mais la macro na rien à voir avec x, y, je me suis
mal exprimé.
Ce que je veux, c'est une macro qui reprend les données de la feuille <<
Articles_en_vente >> puis faire un transfert sur la feuille << Détails_vente >>.
En tenant compte que la ligne qui comporte le mot << armoire >> + << vendu >> ou
<< chaise >> + << vendu >>, soit transféré avec le prix et la date.
Ce qui veut dire que la colonne A est << armoire >> ou << chaise >> etc. en
colonne B << vendu >> en C << le prix >> en D << la date >> et en E << le nombre >>
trié par article.
J'espère avoir été un peu plus clair, je suis un débutant et malgré mes
recherches sur le forum, ce n'est pas toujours évident de trouver ce que l'on
veut.
Encore merci de me renseigner et à +



"LE TROLL" wrote:
Bonjour,

Je ne suis pas certain d'avoir compris, et en
plus, je crois que tu utilises, car tu écris "x"
; "y"
un fichier texte de structure csv, je présume,
mais je ne sais pas ?
Tu voudrais donc, lire chaque ligne, puis si les
deux premier arguments de chaque ligne
correspondent à quelque chose de voulue, tu
récupères la ligne... le IF, tu veux ?

If x = "a" AND y = "b" then ' récupère la ligne...

--
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm

-------------------------------------------------------------------------------------
"frasax" écrit dans le message de news:

| Bonjour à tous,
|
| J'ai un problème avec une macro que j'ai trouvé
chez Isabelle.
| J'aimerais faire un tri par ligne avec deux
arguments.
| Exemple : Si.ET = ?armoire?; ?Vendu?
| La ligne est rangée sous :
| A B C
D
| E
| Genre d'article Vendu Prix
Date Nombre
| Réfrigérateur Vendu CHF 350.-
24.03.2008 X armoire
|
| X chaise
|
| X fauteuil etc.
| La macro est la suivante :
|
| Sub Macro2()
| fin > > > Sheets("Articles_en_vente").Range("A65536").End(xlUp).Row
| ActiveWorkbook.Names.Add Name:="plage", _
| RefersTo:=Range("Articles_en_vente!$B$2:$A$" &
fin)
| Sheets("Détail_vente").Activate
| Range("plage").AdvancedFilter
Action:=xlFilterCopy, _
|
CopyToRange:=Sheets("Détail_vente").Range("B2:A2"),
Unique:=True
| f = Range("A65536").End(xlUp).Row
| Range("D2").Formula = "=CountIf(plage,a2)"
| Range("D2:D" & f).FillDown
| End Sub
|
| Merci à vous de votre aide, encore bonne fête et
à +
|- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -







JB
Le #5330441
http://cjoint.com/?dyqtUPsZjO

Sub Essai_jb()
Sheets("Articles_en_vente").Select
Set mondico = CreateObject("Scripting.Dictionary")
For Each c In Range("A2", [A65000].End(xlUp))
If Not mondico.Exists(c.Value) And c.Offset(0, 1) = "vendu" Then
mondico.Add c.Value, 1
Else
temp = mondico.Item(c.Value)
mondico.Remove (c.Value)
mondico.Add c.Value, temp + 1
End If
Next c
Sheets("Détail_vente").[a2].Resize(mondico.Count, 1) =
Application.Transpose(mondico.keys)
Sheets("Détail_vente").[e2].Resize(mondico.Count, 1) =
Application.Transpose(mondico.items)
Sheets("Détail_vente").Select
End Sub

JB



On 24 mar, 15:50, frasax
Re Bonjour JB,

Je viens de voir qu'il n'est pas possible de mettre le prix.
Il faut donc déplacer la colonne C en D et mettre le nombre sous la colo nne D.



"JB" wrote:
Bonjour,

http://cjoint.com/?dyovjy7mIn

JB
http://boisgontierjacques.free.fr/

On 24 mar, 14:00, frasax
Bonjour Le Troll

Merci pour la réponse, mais la macro na rien à voir avec x, y, je me suis
mal exprimé.
Ce que je veux, c'est une macro qui reprend les données de la feuill e <<
Articles_en_vente >> puis faire un transfert sur la feuille << Détai ls_vente >>.
En tenant compte que la ligne qui comporte le mot << armoire >> + << v endu >> ou
<< chaise >> + << vendu >>, soit transféré avec le prix et la date .
Ce qui veut dire que la colonne A est << armoire >> ou << chaise >> et c. en
colonne B << vendu >> en C << le prix >> en D << la date >> et en E << le nombre >>
trié par article.
J'espère avoir été un peu plus clair, je suis un débutant et m algré mes
recherches sur le forum, ce n'est pas toujours évident de trouver ce que l'on
veut.
Encore merci de me renseigner et à +

"LE TROLL" wrote:
Bonjour,

Je ne suis pas certain d'avoir compris, et en
plus, je crois que tu utilises, car tu écris "x"
; "y"
un fichier texte de structure csv, je présume,
mais je ne sais pas ?
Tu voudrais donc, lire chaque ligne, puis si les
deux premier arguments de chaque ligne
correspondent à quelque chose de voulue, tu
récupères la ligne... le IF, tu veux ?

If x = "a" AND y = "b" then ' récupère la ligne...

--
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm

-------------------------------------------------------------------- ------------------
"frasax" écrit dans le message de news:

| Bonjour à tous,
|
| J'ai un problème avec une macro que j'ai trouvé
chez Isabelle.
| J'aimerais faire un tri par ligne avec deux
arguments.
| Exemple : Si.ET = ?armoire?; ?Vendu?
| La ligne est rangée sous :
| A B C
D
| E
| Genre d'article Vendu Prix
Date Nombre
| Réfrigérateur Vendu CHF 350.-
24.03.2008 X armoire
|
| X chaise
|
| X fauteuil etc.
| La macro est la suivante :
|
| Sub Macro2()
| fin =
Sheets("Articles_en_vente").Range("A65536").End(xlUp).Row
| ActiveWorkbook.Names.Add Name:="plage", _
| RefersTo:=Range("Articles_en_vente!$B$2:$A$" &
fin)
| Sheets("Détail_vente").Activate
| Range("plage").AdvancedFilter
Action:=xlFilterCopy, _
|
CopyToRange:=Sheets("Détail_vente").Range("B2:A2"),
Unique:=True
| f = Range("A65536").End(xlUp).Row
| Range("D2").Formula = "=CountIf(plage,a2)"
| Range("D2:D" & f).FillDown
| End Sub
|
| Merci à vous de votre aide, encore bonne fête et
à +
|- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte de s messages précédents -



- Afficher le texte des messages précédents -





frasax
Le #5330411
Re JB,

Merci c’est super, mais y a un hic, j’aurais voulu que les articles vendus
soient associés. Par exemple Réfrigérateur, il y en a 9 dans la macro essai
jb, or, dans les Articles_en_vente, il y a que 6 Réfrigérateurs vendus.
Peut-on ajouter la couleur à vendu pour les associés ?
Je ne sais pas trop comment associer les deux arguments.
Merci de retenter un essai ?
A +


"JB" wrote:

http://cjoint.com/?dyqtUPsZjO

Sub Essai_jb()
Sheets("Articles_en_vente").Select
Set mondico = CreateObject("Scripting.Dictionary")
For Each c In Range("A2", [A65000].End(xlUp))
If Not mondico.Exists(c.Value) And c.Offset(0, 1) = "vendu" Then
mondico.Add c.Value, 1
Else
temp = mondico.Item(c.Value)
mondico.Remove (c.Value)
mondico.Add c.Value, temp + 1
End If
Next c
Sheets("Détail_vente").[a2].Resize(mondico.Count, 1) > Application.Transpose(mondico.keys)
Sheets("Détail_vente").[e2].Resize(mondico.Count, 1) > Application.Transpose(mondico.items)
Sheets("Détail_vente").Select
End Sub

JB



On 24 mar, 15:50, frasax
Re Bonjour JB,

Je viens de voir qu'il n'est pas possible de mettre le prix.
Il faut donc déplacer la colonne C en D et mettre le nombre sous la colonne D.



"JB" wrote:
Bonjour,

http://cjoint.com/?dyovjy7mIn

JB
http://boisgontierjacques.free.fr/

On 24 mar, 14:00, frasax
Bonjour Le Troll

Merci pour la réponse, mais la macro na rien à voir avec x, y, je me suis
mal exprimé.
Ce que je veux, c'est une macro qui reprend les données de la feuille <<
Articles_en_vente >> puis faire un transfert sur la feuille << Détails_vente >>.
En tenant compte que la ligne qui comporte le mot << armoire >> + << vendu >> ou
<< chaise >> + << vendu >>, soit transféré avec le prix et la date..
Ce qui veut dire que la colonne A est << armoire >> ou << chaise >> etc. en
colonne B << vendu >> en C << le prix >> en D << la date >> et en E << le nombre >>
trié par article.
J'espère avoir été un peu plus clair, je suis un débutant et malgré mes
recherches sur le forum, ce n'est pas toujours évident de trouver ce que l'on
veut.
Encore merci de me renseigner et à +

"LE TROLL" wrote:
Bonjour,

Je ne suis pas certain d'avoir compris, et en
plus, je crois que tu utilises, car tu écris "x"
; "y"
un fichier texte de structure csv, je présume,
mais je ne sais pas ?
Tu voudrais donc, lire chaque ligne, puis si les
deux premier arguments de chaque ligne
correspondent à quelque chose de voulue, tu
récupères la ligne... le IF, tu veux ?

If x = "a" AND y = "b" then ' récupère la ligne...

--
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm

--------------------------------------------------------------------------------------
"frasax" écrit dans le message de news:

| Bonjour à tous,
|
| J'ai un problème avec une macro que j'ai trouvé
chez Isabelle.
| J'aimerais faire un tri par ligne avec deux
arguments.
| Exemple : Si.ET = ?armoire?; ?Vendu?
| La ligne est rangée sous :
| A B C
D
| E
| Genre d'article Vendu Prix
Date Nombre
| Réfrigérateur Vendu CHF 350.-
24.03.2008 X armoire
|
| X chaise
|
| X fauteuil etc.
| La macro est la suivante :
|
| Sub Macro2()
| fin > > > > > Sheets("Articles_en_vente").Range("A65536").End(xlUp).Row
| ActiveWorkbook.Names.Add Name:="plage", _
| RefersTo:=Range("Articles_en_vente!$B$2:$A$" &
fin)
| Sheets("Détail_vente").Activate
| Range("plage").AdvancedFilter
Action:=xlFilterCopy, _
|
CopyToRange:=Sheets("Détail_vente").Range("B2:A2"),
Unique:=True
| f = Range("A65536").End(xlUp).Row
| Range("D2").Formula = "=CountIf(plage,a2)"
| Range("D2:D" & f).FillDown
| End Sub
|
| Merci à vous de votre aide, encore bonne fête et
à +
|- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -









JB
Le #5330351
http://cjoint.com/?dyrEi1REgh

Peut-on ajouter la couleur à vendu pour les associés ?


Je ne comprends pas

JB



On 24 mar, 17:03, frasax
Re JB,

Merci c'est super, mais y a un hic, j'aurais voulu que les articles vendus
soient associés. Par exemple Réfrigérateur, il y en a 9 dans la macr o essai
jb, or, dans les Articles_en_vente, il y a que 6 Réfrigérateurs vendus .
Peut-on ajouter la couleur à vendu pour les associés ?
Je ne sais pas trop comment associer les deux arguments.
Merci de retenter un essai ?
A +



"JB" wrote:
http://cjoint.com/?dyqtUPsZjO

Sub Essai_jb()
Sheets("Articles_en_vente").Select
Set mondico = CreateObject("Scripting.Dictionary")
For Each c In Range("A2", [A65000].End(xlUp))
If Not mondico.Exists(c.Value) And c.Offset(0, 1) = "vendu" Then
mondico.Add c.Value, 1
Else
temp = mondico.Item(c.Value)
mondico.Remove (c.Value)
mondico.Add c.Value, temp + 1
End If
Next c
Sheets("Détail_vente").[a2].Resize(mondico.Count, 1) =
Application.Transpose(mondico.keys)
Sheets("Détail_vente").[e2].Resize(mondico.Count, 1) =
Application.Transpose(mondico.items)
Sheets("Détail_vente").Select
End Sub

JB

On 24 mar, 15:50, frasax
Re Bonjour JB,

Je viens de voir qu'il n'est pas possible de mettre le prix.
Il faut donc déplacer la colonne C en D et mettre le nombre sous la colonne D.

"JB" wrote:
Bonjour,

http://cjoint.com/?dyovjy7mIn

JB
http://boisgontierjacques.free.fr/

On 24 mar, 14:00, frasax
Bonjour Le Troll

Merci pour la réponse, mais la macro na rien à voir avec x, y, je me suis
mal exprimé.
Ce que je veux, c'est une macro qui reprend les données de la fe uille <<
Articles_en_vente >> puis faire un transfert sur la feuille << D étails_vente >>.
En tenant compte que la ligne qui comporte le mot << armoire >> + << vendu >> ou
<< chaise >> + << vendu >>, soit transféré avec le prix et la date..
Ce qui veut dire que la colonne A est << armoire >> ou << chaise > > etc. en
colonne B << vendu >> en C << le prix >> en D << la date >> et en E << le nombre >>
trié par article.
J'espère avoir été un peu plus clair, je suis un débutant et malgré mes
recherches sur le forum, ce n'est pas toujours évident de trouve r ce que l'on
veut.
Encore merci de me renseigner et à +

"LE TROLL" wrote:
Bonjour,

Je ne suis pas certain d'avoir compris, et en
plus, je crois que tu utilises, car tu écris "x"
; "y"
un fichier texte de structure csv, je présume,
mais je ne sais pas ?
Tu voudrais donc, lire chaque ligne, puis si les
deux premier arguments de chaque ligne
correspondent à quelque chose de voulue, tu
récupères la ligne... le IF, tu veux ?

If x = "a" AND y = "b" then ' récupère la ligne...

--
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm

---------------------------------------------------------------- -----------------------
"frasax" écrit dans le message de news:

| Bonjour à tous,
|
| J'ai un problème avec une macro que j'ai trouvé
chez Isabelle.
| J'aimerais faire un tri par ligne avec deux
arguments.
| Exemple : Si.ET = ?armoire?; ?Vendu?
| La ligne est rangée sous :
| A B C
D
| E
| Genre d'article Vendu Prix
Date Nombre
| Réfrigérateur Vendu CHF 350.-
24.03.2008 X armoire
|
| X chaise
|
| X fauteuil etc.
| La macro est la suivante :
|
| Sub Macro2()
| fin =
Sheets("Articles_en_vente").Range("A65536").End(xlUp).Row
| ActiveWorkbook.Names.Add Name:="plage", _
| RefersTo:=Range("Articles_en_vente!$B$2:$A$" &
fin)
| Sheets("Détail_vente").Activate
| Range("plage").AdvancedFilter
Action:=xlFilterCopy, _
|
CopyToRange:=Sheets("Détail_vente").Range("B2:A2"),
Unique:=True
| f = Range("A65536").End(xlUp).Row
| Range("D2").Formula = "=CountIf(plage,a2)"
| Range("D2:D" & f).FillDown
| End Sub
|
| Merci à vous de votre aide, encore bonne fête et
à +
|- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le text e des messages précédents -



- Afficher le texte des messages précédents -- Masquer le texte de s messages précédents -



- Afficher le texte des messages précédents -







JB
Le #5330291
Avec TCD:

http://cjoint.com/?dyr6ISdGt1

JB


On 24 mar, 17:03, frasax
Re JB,

Merci c'est super, mais y a un hic, j'aurais voulu que les articles vendus
soient associés. Par exemple Réfrigérateur, il y en a 9 dans la macr o essai
jb, or, dans les Articles_en_vente, il y a que 6 Réfrigérateurs vendus .
Peut-on ajouter la couleur à vendu pour les associés ?
Je ne sais pas trop comment associer les deux arguments.
Merci de retenter un essai ?
A +



"JB" wrote:
http://cjoint.com/?dyqtUPsZjO

Sub Essai_jb()
Sheets("Articles_en_vente").Select
Set mondico = CreateObject("Scripting.Dictionary")
For Each c In Range("A2", [A65000].End(xlUp))
If Not mondico.Exists(c.Value) And c.Offset(0, 1) = "vendu" Then
mondico.Add c.Value, 1
Else
temp = mondico.Item(c.Value)
mondico.Remove (c.Value)
mondico.Add c.Value, temp + 1
End If
Next c
Sheets("Détail_vente").[a2].Resize(mondico.Count, 1) =
Application.Transpose(mondico.keys)
Sheets("Détail_vente").[e2].Resize(mondico.Count, 1) =
Application.Transpose(mondico.items)
Sheets("Détail_vente").Select
End Sub

JB

On 24 mar, 15:50, frasax
Re Bonjour JB,

Je viens de voir qu'il n'est pas possible de mettre le prix.
Il faut donc déplacer la colonne C en D et mettre le nombre sous la colonne D.

"JB" wrote:
Bonjour,

http://cjoint.com/?dyovjy7mIn

JB
http://boisgontierjacques.free.fr/

On 24 mar, 14:00, frasax
Bonjour Le Troll

Merci pour la réponse, mais la macro na rien à voir avec x, y, je me suis
mal exprimé.
Ce que je veux, c'est une macro qui reprend les données de la fe uille <<
Articles_en_vente >> puis faire un transfert sur la feuille << D étails_vente >>.
En tenant compte que la ligne qui comporte le mot << armoire >> + << vendu >> ou
<< chaise >> + << vendu >>, soit transféré avec le prix et la date..
Ce qui veut dire que la colonne A est << armoire >> ou << chaise > > etc. en
colonne B << vendu >> en C << le prix >> en D << la date >> et en E << le nombre >>
trié par article.
J'espère avoir été un peu plus clair, je suis un débutant et malgré mes
recherches sur le forum, ce n'est pas toujours évident de trouve r ce que l'on
veut.
Encore merci de me renseigner et à +

"LE TROLL" wrote:
Bonjour,

Je ne suis pas certain d'avoir compris, et en
plus, je crois que tu utilises, car tu écris "x"
; "y"
un fichier texte de structure csv, je présume,
mais je ne sais pas ?
Tu voudrais donc, lire chaque ligne, puis si les
deux premier arguments de chaque ligne
correspondent à quelque chose de voulue, tu
récupères la ligne... le IF, tu veux ?

If x = "a" AND y = "b" then ' récupère la ligne...

--
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm

---------------------------------------------------------------- -----------------------
"frasax" écrit dans le message de news:

| Bonjour à tous,
|
| J'ai un problème avec une macro que j'ai trouvé
chez Isabelle.
| J'aimerais faire un tri par ligne avec deux
arguments.
| Exemple : Si.ET = ?armoire?; ?Vendu?
| La ligne est rangée sous :
| A B C
D
| E
| Genre d'article Vendu Prix
Date Nombre
| Réfrigérateur Vendu CHF 350.-
24.03.2008 X armoire
|
| X chaise
|
| X fauteuil etc.
| La macro est la suivante :
|
| Sub Macro2()
| fin =
Sheets("Articles_en_vente").Range("A65536").End(xlUp).Row
| ActiveWorkbook.Names.Add Name:="plage", _
| RefersTo:=Range("Articles_en_vente!$B$2:$A$" &
fin)
| Sheets("Détail_vente").Activate
| Range("plage").AdvancedFilter
Action:=xlFilterCopy, _
|
CopyToRange:=Sheets("Détail_vente").Range("B2:A2"),
Unique:=True
| f = Range("A65536").End(xlUp).Row
| Range("D2").Formula = "=CountIf(plage,a2)"
| Range("D2:D" & f).FillDown
| End Sub
|
| Merci à vous de votre aide, encore bonne fête et
à +
|- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le text e des messages précédents -



- Afficher le texte des messages précédents -- Masquer le texte de s messages précédents -



- Afficher le texte des messages précédents -







frasax
Le #5330251
JB,

Merci c’est super, ça fonctionne comme je voulais.
A la question, peut-on ajouter la couleur à vendu pour les associés ?
Plus rien à voir puisque la macro fonctionne sans. Le cas est résolu.
Vous êtes vraiment génial sur ce forum, vraiment Merci de votre
disponibilité et votre compréhension avec les débutants.
A une autre fois.

frasax

"JB" wrote:

http://cjoint.com/?dyrEi1REgh

Peut-on ajouter la couleur à vendu pour les associés ?


Je ne comprends pas

JB



On 24 mar, 17:03, frasax
Re JB,

Merci c'est super, mais y a un hic, j'aurais voulu que les articles vendus
soient associés. Par exemple Réfrigérateur, il y en a 9 dans la macro essai
jb, or, dans les Articles_en_vente, il y a que 6 Réfrigérateurs vendus..
Peut-on ajouter la couleur à vendu pour les associés ?
Je ne sais pas trop comment associer les deux arguments.
Merci de retenter un essai ?
A +



"JB" wrote:
http://cjoint.com/?dyqtUPsZjO

Sub Essai_jb()
Sheets("Articles_en_vente").Select
Set mondico = CreateObject("Scripting.Dictionary")
For Each c In Range("A2", [A65000].End(xlUp))
If Not mondico.Exists(c.Value) And c.Offset(0, 1) = "vendu" Then
mondico.Add c.Value, 1
Else
temp = mondico.Item(c.Value)
mondico.Remove (c.Value)
mondico.Add c.Value, temp + 1
End If
Next c
Sheets("Détail_vente").[a2].Resize(mondico.Count, 1) > > > Application.Transpose(mondico.keys)
Sheets("Détail_vente").[e2].Resize(mondico.Count, 1) > > > Application.Transpose(mondico.items)
Sheets("Détail_vente").Select
End Sub

JB

On 24 mar, 15:50, frasax
Re Bonjour JB,

Je viens de voir qu'il n'est pas possible de mettre le prix.
Il faut donc déplacer la colonne C en D et mettre le nombre sous la colonne D.

"JB" wrote:
Bonjour,

http://cjoint.com/?dyovjy7mIn

JB
http://boisgontierjacques.free.fr/

On 24 mar, 14:00, frasax
Bonjour Le Troll

Merci pour la réponse, mais la macro na rien à voir avec x, y, je me suis
mal exprimé.
Ce que je veux, c'est une macro qui reprend les données de la feuille <<
Articles_en_vente >> puis faire un transfert sur la feuille << Détails_vente >>.
En tenant compte que la ligne qui comporte le mot << armoire >> + << vendu >> ou
<< chaise >> + << vendu >>, soit transféré avec le prix et la date..
Ce qui veut dire que la colonne A est << armoire >> ou << chaise >> etc. en
colonne B << vendu >> en C << le prix >> en D << la date >> et en E << le nombre >>
trié par article.
J'espère avoir été un peu plus clair, je suis un débutant et malgré mes
recherches sur le forum, ce n'est pas toujours évident de trouver ce que l'on
veut.
Encore merci de me renseigner et à +

"LE TROLL" wrote:
Bonjour,

Je ne suis pas certain d'avoir compris, et en
plus, je crois que tu utilises, car tu écris "x"
; "y"
un fichier texte de structure csv, je présume,
mais je ne sais pas ?
Tu voudrais donc, lire chaque ligne, puis si les
deux premier arguments de chaque ligne
correspondent à quelque chose de voulue, tu
récupères la ligne... le IF, tu veux ?

If x = "a" AND y = "b" then ' récupère la ligne...

--
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm

---------------------------------------------------------------------------------------
"frasax" écrit dans le message de news:

| Bonjour à tous,
|
| J'ai un problème avec une macro que j'ai trouvé
chez Isabelle.
| J'aimerais faire un tri par ligne avec deux
arguments.
| Exemple : Si.ET = ?armoire?; ?Vendu?
| La ligne est rangée sous :
| A B C
D
| E
| Genre d'article Vendu Prix
Date Nombre
| Réfrigérateur Vendu CHF 350.-
24.03.2008 X armoire
|
| X chaise
|
| X fauteuil etc.
| La macro est la suivante :
|
| Sub Macro2()
| fin > > > > > > > Sheets("Articles_en_vente").Range("A65536").End(xlUp).Row
| ActiveWorkbook.Names.Add Name:="plage", _
| RefersTo:=Range("Articles_en_vente!$B$2:$A$" &
fin)
| Sheets("Détail_vente").Activate
| Range("plage").AdvancedFilter
Action:=xlFilterCopy, _
|
CopyToRange:=Sheets("Détail_vente").Range("B2:A2"),
Unique:=True
| f = Range("A65536").End(xlUp).Row
| Range("D2").Formula = "=CountIf(plage,a2)"
| Range("D2:D" & f).FillDown
| End Sub
|
| Merci à vous de votre aide, encore bonne fête et
à +
|- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -











Publicité
Poster une réponse
Anonyme