Regrouper des valeurs uniques

Le
Flag
Bonjour,

J'ai une base de données sous le format suivant:

Article: couleur:
Chapeau bleu
Chapeau bleu
Chapeau rouge
Chapeau jaune
Chapeau jaune
Chapeau bleu
Tuque bleu
Tuque Jaune
Tuque jaune
Tuque jaune

Je veux créer un tableau me donnant l'information suivante:
Chapeau Bleu Rouge Jaune
Tuque Bleu Jaune

En fait je ne veux pas connaître la quantité de chacun des artiques mais les
couleurs qui sont disponibles
C'est comme de faire un tableau croisé dynamique mais en énumérant les
valeurs possibles.

Est-ce que vous pouvez m'aider?
Ça peut être un code VB.

Merci


--
Flag
Excel 2007
Windows xp
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
JB
Le #5226671
Bonsoir,

Sub Essai()
[D:E].Clear
[A1:B1000].AdvancedFilter Action:=xlFilterCopy, CopyToRange:=[D1],
Unique:=True
Set mondico = CreateObject("Scripting.Dictionary")
For Each c In Range("d2", [d65000].End(xlUp))
If Not mondico.Exists(c.Value) Then
mondico.Add c.Value, c.Offset(0, 1).Value
Else
temp = mondico.Item(c.Value)
mondico.Remove (c.Value)
mondico.Add c.Value, temp & " " & c.Offset(0, 1)
End If
Next c
[h2].Resize(mondico.Count, 1) = Application.Transpose(mondico.keys)
[i2].Resize(mondico.Count, 1) = Application.Transpose(mondico.items)
[D:E].Clear
End Sub

http://cjoint.com/?druFebYCU8

JB
http://boisgontierjacques.free.fr/


On 17 mar, 19:53, Flag
Bonjour,

J'ai une base de données sous le format suivant:

Article:          couleur:
Chapeau         bleu
Chapeau         bleu
Chapeau         rouge
Chapeau         jaune
Chapeau         jaune
Chapeau         bleu
Tuque             bleu
Tuque             Jaune
Tuque             jaune
Tuque             jaune

Je veux créer un tableau me donnant l'information suivante:
Chapeau     Bleu Rouge Jaune
Tuque         Bleu Jaune

En fait je ne veux pas connaître la quantité de chacun des artiques ma is les
couleurs qui sont disponibles...
C'est comme de faire un tableau croisé dynamique mais en énumérant l es
valeurs possibles.

Est-ce que vous pouvez m'aider?
Ça peut être un code VB....

Merci

--
Flag
Excel 2007
Windows xp


Flag
Le #5226651
Merci beaucoup JB!

Ça fonctionne à merveille!
--


Bonsoir,

Sub Essai()
[D:E].Clear
[A1:B1000].AdvancedFilter Action:=xlFilterCopy, CopyToRange:=[D1],
Unique:=True
Set mondico = CreateObject("Scripting.Dictionary")
For Each c In Range("d2", [d65000].End(xlUp))
If Not mondico.Exists(c.Value) Then
mondico.Add c.Value, c.Offset(0, 1).Value
Else
temp = mondico.Item(c.Value)
mondico.Remove (c.Value)
mondico.Add c.Value, temp & " " & c.Offset(0, 1)
End If
Next c
[h2].Resize(mondico.Count, 1) = Application.Transpose(mondico.keys)
[i2].Resize(mondico.Count, 1) = Application.Transpose(mondico.items)
[D:E].Clear
End Sub

http://cjoint.com/?druFebYCU8

JB
http://boisgontierjacques.free.fr/


On 17 mar, 19:53, Flag
Bonjour,

J'ai une base de données sous le format suivant:

Article: couleur:
Chapeau bleu
Chapeau bleu
Chapeau rouge
Chapeau jaune
Chapeau jaune
Chapeau bleu
Tuque bleu
Tuque Jaune
Tuque jaune
Tuque jaune

Je veux créer un tableau me donnant l'information suivante:
Chapeau Bleu Rouge Jaune
Tuque Bleu Jaune

En fait je ne veux pas connaître la quantité de chacun des artiques mais les
couleurs qui sont disponibles...
C'est comme de faire un tableau croisé dynamique mais en énumérant les
valeurs possibles.

Est-ce que vous pouvez m'aider?
Ça peut être un code VB....

Merci

--
Flag
Excel 2007
Windows xp






Fredo P.
Le #5226601
Bonsoir
Si cela convient, Il existe le tri élaboré , une ligne de titre doit être
présente en tête de la base de données ainsi qu'en tête de la plage de
destination. La disposition ne sera pas celle que tu souhaites.

Sub TriValUnique()

Range("A1:B12").AdvancedFilter Action:=xlFilterCopy,
CopyToRange:=Range( _
"C1:D1"), Unique:=True

End Sub
--

A1 B1 C1 D1
Article: couleur: Article Couleur
Chapeau bleu
Chapeau bleu
Chapeau rouge
Chapeau jaune
Chapeau jaune
Chapeau bleu
Tuque bleu
Tuque Jaune
Tuque jaune
Tuque jaune



Publicité
Poster une réponse
Anonyme