Convertir une matrice - EXcel 2007 -vba

imhotep_9 Messages postés 2 Statut Membre -  
 imhotep_9 -
Bonjour,

En Excel 2007, je souhaite convertir une matrice dont la forme est:

F1 A
F1 B
F1 C
F1 D
F2 E
F2 F
... ...

en une nouvelle matrice dont la forme est:

F1 A;B;C;D
F2 E;F

... ...

Il me faudrait un code vba que je puisse adapter à toute matrice de ce type.

Merci bcp pour votre aide
A voir également:

1 réponse

Bruce Willix Messages postés 13499 Statut Contributeur 2 594
 
Il faut pas de code VBA. Il faut transposer ta matrice.

Et ça tombe bien, Excel possède une telle fonction: TRANSPOSE()

Donc si tu as une matrice:

A1 B1
A2 B2

et que tu appliques la formule =TRANSPOSE(A1:B2) la matrice résultante sera:

A1 A2
B1 B2

C'est une formule matricielle. Quand tu l'appliques, tu dois appuer sue MAJ et CTRL en appuyant sur ENTREE pour que ça fonctionne.

Tu dois aussi faire attention: si ta matrice d'entrée est de dimension (AxB) la zone dans laquelle tu vas écrire la matrice transposée doit être de dimension (BxA)...

en clair la transposition d'un matrice

A1 A2 A3
B1 B2 B3

donnera

A1 B1
A2 B2
A3 B3

Si Dieu était un méchant, ce serait moi (Mr. Benedict)
0
imhotep_9 Messages postés 2 Statut Membre
 
malheureusement cette fonction ne répond pas à ma problématique...
Je pense vraiement que cela nécessite du code vba.

Ma matrice de départ est la suivante (A2:B6) :

cellule A2 = Item1; cellule B2 = itemA
cellule A3 = Item1; cellule B3 = itemB
cellule A4 = Item1; cellule B4 = itemC
cellule A5 = Item2; cellule B5 = itemD
cellule A6 = Item2; cellule B6 = itemE
....


Le résultat que je doit obtenir est:
cellule A2 = Item1; cellule B2 = itemA, itemB, itemC
cellule A3 = Item2; cellule B3 = itemD, itemE
....

Merci d'avance.
0
Bruce Willix Messages postés 13499 Statut Contributeur 2 594
 
Alors tu dois faire un tableau croisé dynamique (en anglais: Pivot Table) :) Tu sais comment ça marche ?
0
imhotep_9
 
oui merci
0